Git とその GUI クライアント SourceTree を使っているかた、けっこういるのではとおもいます。
その SourceTree を Proxy環境下でWindows機にインストールしようとしたら、Proxy接続に失敗してインストールできない症状にぶちあたりました…
そこでなんとか回避できないかと Atlassian Community をうろうろチェックしていたら、その回避方法を見つけました。今回はそれを説明します。
問題の症状
まずは私が遭遇した問題の症状について簡単に説明します。
Atlassian アカウントでログインをしようとプロキシサーバのユーザIDとパスワードを入力したところでクラッシュしてしまう現象にみまわれました。なんどやってもクラッシュ…..

↓

↓

↓

↓

↓

↓

私の場合はこのようにインストーラがクラッシュしましたが、場合によってはインストーラがハングしたりする(処理が止まってしまう)ようです。なんにせよProxyのとこでこけることには違いないかと。
ちなみに下記のチケットを見る限り、この問題は ver 2.6.10 で修正されたとのことです。が、そのバージョンで試してもクラッシュしてしまいました…。
Installer does not work behind a Proxy
Proxy を使わずにインストールする方法
上記の問題を避ける方法を説明します。下記のサイトと同じことをやりますので、英語でも図がなくてもわかるよ!というひとはそちらを参照してもいいかなと思います。
How to install SourceTree through proxy
ちなみに私が試した環境の概要は下記の通りです。
事前準備
まず、Windowsのフォルダの表示設定を、隠しフォルダも表示するようにしておいてください。一般的に、どのアプリでもユーザーデータは隠しフォルダ設定になっています。
さらに、コントロールパネルから SourceTree をアンインストールしてください。
SourceTree のユーザデータの削除
じつはコントロールパネルから SourceTree をアンインストールしただけでは、ユーザデータ情報は削除されません。これらが残っていると SourceTree を再インストールできません。そこでそれらを削除します。
まず SourceTree を終了させます。つぎに下記の2つのディレクトリを削除します。USERNAME というところはご自身のユーザ名に置き換えてください。
これでユーザデータは削除されました。
How to Wipe SourceTree Preferences
SourceTree の再インストール 前半戦
まずは SourceTree の再インストールを途中まで進めます。
インストーラ(SourceTreeSetup-X.X.X.exe)をダブルクリックしてインストールを開始します。そのまま進めていき、Atlassian アカウントを入力する直前まで進めます。アカウントを入力するとクラッシュしてまうので、その前でとめます。

↓

↓

ここまできたらインストーラーを終了させます。インストーラーのアプリを終了させてください。
ユーザ情報の書き換え
つぎに、ログインをスキップするためにユーザ情報の書き換えを行います。
まず、passwd.txt を作成します。下記の場所に作成します。ファイルの中身は空っぽでOKです。USERNAME というところはご自身のユーザ名に置き換えてください。
C:\Users\USERNAME\AppData\Local\SourceTree\passwd.txt

つぎに、accounts.json を作成します。下記の場所に作成します。
C:\Users\USERNAME\AppData\Local\SourceTree\accounts.json

そして accounts.json の中身を編集します。エディタ(メモ帳でOK)にて下記の内容をコピペしてください。
さらに下記の中の「YOUR EMAIL HERE」というところをご自身のメールアドレスに修正してください。
[
{
"$id": "1",
"$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
"Authenticate": true,
"HostInstance": {
"$id": "2",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
"Host": {
"$id": "3",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "YOUR EMAIL HERE"
},
"IsDefault": false
}
]
これで ユーザ情報の書き換え作業はおわりです。
SourceTree の再インストール 後半戦
インストーラーをダブルクリックして、再度インストールを開始してください。すると Atlassianアカウントのログインをスキップしてそのつぎの処理から始まります。下記のようなウィンドウが表示されるかと思います。
(この時点で Proxy経由でネットに接続できるようなので、下記で「Gitをダウンロードする」を選択しても大丈夫なようです)
あとは通常通りインストールを進めてください。そのまますすめると、インストール完了です。

↓

↓

まとめ
今回はプロキシ環境下で SourceTreeのインストールに失敗する場合の回避法について説明しました。そのうちこの問題も修正されると思いますが、しばらくはこれで逃げるしかなさそうですね。
ひとまずAtlassian製品で困ったら、Atlassian Community をうろうろみて回るといいみたいです。世界の誰かが同じ問題を踏んでることが多いです。
ちなみにですが、初心者向けのGit&SourceTreeの使い方については下記の本がわかりやすかったです。マンガなので読みやすい。


コメント