背景
MacでHomebrewを使っていると、pythonパッケージでインストールされるPythonのバージョンが2になったり3になったりします。
- 3月1日、Homebrew のデフォルトの Python が Python 3 になります。 - methaneのブログ
- Homebrewでインストールされる/usr/local/bin/pythonが再びPython2に変更
この変化の前後のタイミングでawsコマンドをインストールしていると、awsコマンドが壊れることがあります。この時
dyld: Library not loaded: @executable_path/..
で始まるエラーが起きます。
How to fix
手動で再インストールします。
古いバージョンを消し、macOS で AWS Command Line Interface をインストールする - AWS Command Line Interfaceを参考にして再インストールします。
アンイストール
~ which aws
/usr/local/bin/aws
~ ls -ls /usr/local/bin/aws
0 lrwxr-xr-x 1 root wheel 22 2 5 22:25 /usr/local/bin/aws -> /usr/local/aws/bin/aws
awsコマンドは/usr/local/aws
にインストールされています。これを削除します。
sudo rm -rf /usr/local/aws
再インストール
あとはドキュメントの指示通りawscli-bundle.zip
をダウンロードしてインストールします。
補足
まれに前回インストール時にawscli-bundle.zip
を解凍したawscli-bundle
ディレクトリが残っていることがあります。このディレクトリ内には、前回使った古いパッケージファイルが残っています。awscli-bundle
ディレクトリがある場合は、awscli-bundle.zip
を解凍する前に消します。
rm -rf awscli-bundle/