ScoopでGitとSourceTreeをインストール

投稿日:

コマンドライン・インストーラのScoopを使用し、バージョン管理システムのGit for Windowsと、GitクライアントのSourceTreeをインストールした際のメモ。

Scoop導入時にインストール済だったGit for WindowsとSourceTreeがバージョン・アップしていたので、アンインストール後、Scoopで再インストールしてみました。

Git for Windowsのインストール

Git for Windowsを検索

scoop search git

Git for Windowsをインストール

scoop/bucket at master · lukesampson/scoop · GitHubgitgit-with-opensshの違いを確認したところ、ダウンロードされるのは同じPortableGitで、同梱のOpenSSHを使用するようにshimを作成するかどうかの違いのようでした。

SourceTreeは同梱のPuTTYを使用する方が便利なので、今回はgitの方をインストールすることにします。

scoop install git

Git for Windowsがアンインストール済なので、インストールの前に行うbucketの更新が出来ずにエラーを表示しますが、インストールは出来ました。

SourceTreeのインストール

SourceTreeを検索

scoop search sourcetree

SourceTreeをインストール

extras bucketにsourcetreeがあると確認出来たのでインストールします。

scoop install sourcetree

SourceTreeを起動

スタートメニューのScoop Appsフォルダ内にショートカットが作成され、起動出来るようになります。

環境変数のPathに登録されているshimsフォルダにshimが作成され、コマンドラインからも起動出来るようになります。

起動してみると、「System.ComponentModel.Win32Exception: 指定されたファイルが見つかりません。」というエラー・ダイアログが出てしまいました。

たくさん出るエラー・ダイアログの[OK]を押しまくり、メニューの[ツール] > [オプション]の[Git]タブを確認すると、git.exeはパスが通っているため認識しているものの、他にGit関連で必要としているファイルを見つけられないようです。

内蔵Gitをインストール

[Embedded]ボタンを押すとPortableGitのダウンロードが始まり、ユーザー・フォルダのパス\AppData\Local\Atlassian\SourceTree\git_localにインストールされ、エラー・ダイアログが出なくなりました。

しかし、インストールされたPortableGitのバージョンは古いし、そもそも個別にバージョンを管理したくないので、ジャンクションで対応することにします。

ジャンクションを作成

SourceTreeを終了し、ユーザー・フォルダのパス\AppData\Local\Atlassian\SourceTree\git_localを削除後、Scoopのインストール先のパス\apps\git\currentのジャンクションを作成します。

rd /s ユーザー・フォルダのパス\AppData\Local\Atlassian\SourceTree\git_local
mklink /j ユーザー・フォルダのパス\AppData\Local\Atlassian\SourceTree\git_local Scoopのインストール先のパス\apps\git\current

SourceTreeを起動し、メニューの[ツール] > [オプション]の[Git]タブを確認すると、無事にgit.exeを認識していることが確認出来ました。

Git for Windowsをgitからgit-with-opensshに変更するとジャンクションを作成し直す必要があるので、スマートな解決策とは言えませんが、とりあえずSourceTreeが使えるようになりました。

何故か、起動時にアップデートのお知らせが毎回表示されるのは、解決策が思い付かないので放置していますが...。

SourceTreeのようなインストール先が決め打ちのアプリケーションは、Scoopでの管理は向いていないのかも知れません。

The following two tabs change content below.

isonishi

小規模ウェブサイトの制作を請け負うフリーランサーです。職種はフロントエンドエンジニアが近いと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です