目次
fatal: unable to find remote helper for ‘codecommit’
AWS CodeCommit上のリポジトリをgit-remote-codecommitを使用してローカルにクローンする際エラーとなってしまったので解決手順をまとめます。
環境: MacOS Catalina 10.15.7, aws-cli 1.18.185, git version 2.24.3, Python 3.8.5
解決方法: デフォルトのPython(pip)を2系から3系にする
git-remote-codecommitを使用したリポジトリクローンのコマンド
git clone codecommit://プロファイル名@CodeCommitリポジトリ名
(リポジトリ参照のために名前付きプロファイルをaws-cliで設定済み)
発生したエラー
「fatal: unable to find remote helper for ‘codecommit’」
Pythonのバージョン確認
git-remote-codecommitはPythonのパッケージマネージャーpipを使用してインストールしているので実行時のPythonのバージョンが関係していたようです。
ローカル環境へのPythonのインストールについては本記事では割愛しますが、
MacにデフォルトでインストールされているPythonバージョン2系と自前でインストールした3系が環境に混在している状態でしたのでデフォルトでの参照が3系となるよう環境を整備しました。
(以降、ターミナルからコマンドを実行)
Pythonバージョン確認コマンド
$ python -V
こちらで表示されるデフォルトでのバージョンが2.7でした。
(この時点の3系のバージョンを確認コマンド)
$ python3 -V
デフォルトのPythonを3系にする
$ ln -nfs /usr/local/bin/python3 /usr/local/bin/python
python3実体へのシンボリックリンクを作成することでデフォルトを3系にします。
pipも3系のものを使用できるようにする
$ pip -V pip 20.1.1 from /Library/Python/2.7/site-packages/pip (python 2.7)
上記のようにPython本体同様、パッケージマネージャーのpipも2系に紐づくものがデフォルトになっていましたので3系配下のpipをデフォルトに変更します。
バージョン2系のpipをアンインストールする
下記の3つのコマンドを順番に実行します。
$ sudo easy_install -mxN pip
※
$ sudo rm -rf /Library/Python/2.7/site-packages/pip-20.X-py2.7.egg
$ sudo rm -rf /usr/local/bin/pip*
※ひとつめのコマンド実行時に表示される
Using /Library/Python/2.7/site-packages/pip-20.X
のバージョンを指定して実行します。
ここまでで2系のpipのアンインストールが完了です。
pipのパスを通す
1. バージョン3系のpipの場所は以下のコマンドで確認出来ました。
$ python3 -m pip -V pip 20.3 from /Users/ken/Library/Python/3.8/lib/python/site-packages/pip (python 3.8)
2. pipからコマンドを実行できるように確認したパスを通します。
$ echo ‘export PATH=”$HOME/Library/Python/3.8/bin:$PATH”‘ >> ~/.bash_profile
3. 反映 (もしくはターミナル再起動)
$ source ~/.bash_profile
4. pipの情報が先ほどと同様に確認できればOK!
$ pip -V
git-remote-codecommitを再インストール
git-remote-codecommitは2系のpipと一緒に削除されたので、
3系のpip追加ライブラリとして再インストールしました。
$ pip install git-remote-codecommit
リポジトリクローンを再度実行
CodeCommitリポジトリからのgit cloneが無事成功出来ました!
git clone codecommit://プロファイル名@CodeCommitリポジトリ名
Cloning into 'repository_name'... remote: Counting objects: 12, done. Unpacking objects: 100% (12/12), done.
参考
MacBook(macOS)にPython3環境を導入してデフォルトに設定する | つくみ島だより
git-remote-codecommit および AWS CodeCommit のトラブルシューティング – AWS CodeCommit
git-remote-codecommitでAmazon CodeCommitリポジトリへ接続する | Developers.IO