All Articles

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

Scoop * 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 をインストール

Main/bucket at master · ScoopInstaller/Main · 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 のバージョンは古いし、そもそも複数の 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 が使えるようになりました。

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

Notifications

バージョン情報

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