git-remote-codecommitでリポジトリをクローン出来ないとき

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を使用したリポジトリクローンのコマンド

(リポジトリ参照のために名前付きプロファイルをaws-cliで設定済み)

発生したエラー
「fatal: unable to find remote helper for ‘codecommit’」

Pythonのバージョン確認

git-remote-codecommitはPythonのパッケージマネージャーpipを使用してインストールしているので実行時のPythonのバージョンが関係していたようです。

ローカル環境へのPythonのインストールについては本記事では割愛しますが、
MacにデフォルトでインストールされているPythonバージョン2系と自前でインストールした3系が環境に混在している状態でしたのでデフォルトでの参照が3系となるよう環境を整備しました。

(以降、ターミナルからコマンドを実行)

Pythonバージョン確認コマンド

こちらで表示されるデフォルトでのバージョンが2.7でした。

(この時点の3系のバージョンを確認コマンド)

デフォルトのPythonを3系にする

python3実体へのシンボリックリンクを作成することでデフォルトを3系にします。

pipも3系のものを使用できるようにする

上記のようにPython本体同様、パッケージマネージャーのpipも2系に紐づくものがデフォルトになっていましたので3系配下のpipをデフォルトに変更します。

バージョン2系のpipをアンインストールする

下記の3つのコマンドを順番に実行します。

※ひとつめのコマンド実行時に表示される
Using /Library/Python/2.7/site-packages/pip-20.X
のバージョンを指定して実行します。

ここまでで2系のpipのアンインストールが完了です。

pipのパスを通す

1. バージョン3系のpipの場所は以下のコマンドで確認出来ました。

2. pipからコマンドを実行できるように確認したパスを通します。
$ echo ‘export PATH=”$HOME/Library/Python/3.8/bin:$PATH”‘ >> ~/.bash_profile

3. 反映 (もしくはターミナル再起動)

4. pipの情報が先ほどと同様に確認できればOK!

git-remote-codecommitを再インストール

git-remote-codecommitは2系のpipと一緒に削除されたので、
3系のpip追加ライブラリとして再インストールしました。

リポジトリクローンを再度実行

CodeCommitリポジトリからのgit cloneが無事成功出来ました!

参考
MacBook(macOS)にPython3環境を導入してデフォルトに設定する | つくみ島だより

git-remote-codecommit および AWS CodeCommit のトラブルシューティング – AWS CodeCommit

git-remote-codecommitでAmazon CodeCommitリポジトリへ接続する | Developers.IO

Follow me!