今日の最新の開発バージョンで修正されているようであるAnsible(私はMacにあります)に問題があったため、pip(Sudo pip uninstall ansible
)を使用してansibleをアンインストールし、クラシックを使用してgithubリポジトリから最新の開発バージョンを再インストールしました正常に終了したように見えるsetup.pyメソッド( ここで完全な出力 。
それで私はそれを使ってみました:
$ ansible --version
-bash: ansible: command not found
$ which ansible
$
設置場所を確認しました。上記にリンクした完全な出力から、/usr/local/lib/python2.7/site-packages
にインストールされていることがわかりました。実際、そこに卵が見つかりました。
$ ls -l /usr/local/lib/python2.7/site-packages | grep ansible
drwxr-xr-x 4 root admin 136 Aug 22 16:33 ansible-2.4.0-py2.7.Egg
Pythonを起動して、site-packagesフォルダーを確認すると、別のフォルダーが見つかります。
>>> import site; print site.getsitepackages()[0]
/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
しかし、それは同じフォルダへのシンボリックリンクです:
$ ls -l /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
lrwxr-xr-x 1 hielke admin 54 Aug 13 22:36 /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages -> ../../../../../../../../../lib/python2.7/site-packages
したがって、問題は/usr/local/bin/
のansibleパッケージへのシンボリックリンクが作成されないことだと思います。しかし、そのようなシンボリックリンクを作成する方法と、そもそもなぜそれが最初に表示されないのかはわかりません。
ここから先に進む方法を誰かが知っていますか?すべてのヒントは大歓迎です!
シェルからansible
を呼び出すと、bashは$PATH
で、実行可能なansibleという名前のファイルを検索します。これが唯一の問題ではないかもしれませんが、これが、表示されているエラーの直接の原因です。 .Egg
ファイル自体は実行可能ファイルではなく、単にコードを配布するために使用されるファイルです。
Ansibleが正しくインストールされている場合は、 locate またはOSX Finder GUIを使用して検索できます。名前は、ファイル拡張子なしで正確に一致する必要があります。おそらく、ansible
実行可能ファイルと同じ場所にansible-connection
、ansible-console
なども見つかります。あなたがそれを見つけたら、素晴らしい!テストして、次のようにターミナルで$PATH
にそのディレクトリを追加します。
export PATH=$PATH:/path/to/ansible
ここで、/path/to/ansible
は、実行可能ファイルを見つけたディレクトリです。 $PATH
変数に対するこの変更は一時的なものであり、シェルを閉じると消えます。 bashからansibleを実行できるようになった場合は、$HOME/.bash_profile
ファイルの最後にエクスポートを追加するか、/etc/paths.d
にルールを追加することで、変更を永続的にすることができます(Appleが推奨)。それらを正確に行う方法の詳細については、慣れていない場合は here を参照してください。
さて、それが問題ではなく、ansible
実行可能ファイルが見つからない場合は、インストール自体が問題です。仮想環境を使用してみて(インストールされている場合)、githubからプルしているバージョンが壊れていないことを確認することもできます。
git clone https://github.com/ansible/ansible.git
cd ansible
virtualenv venv
source venv/bin/activate
pip install .
which ansible
この記事を書いている時点では、上記でansible
が動作するようになっています。
Macでansibleが存在する場所を見つけます。ほとんどの場合、その/Users/<yourusername>/Library/Python/3.7/bin
または/Users/<yourusername>/Library/Python/2.7/bin
。その後...
export PATH=$PATH:/Users/<yourusername>/Library/Python/3.7/bin
これは.bashrc
ファイルに保存できます。
ソフトリンクを作成する必要があるだけだと思います
ln -s /Users/${yourname}/Library/Python/${python version}/bin/ansible /usr/local/bin/ansible
Ansibleのドキュメントで提案されている方法 に従って、Ansibleをアンインストールし、pip
を使用して再インストールすることをお勧めします。
または、最新の開発バージョンを探している場合:
pip install git+https://github.com/ansible/ansible.git@devel
OS X Mavericksにインストールする場合、コンパイラからノイズが発生する可能性があります。回避策は次のとおりです。
$ Sudo CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install ansible
Virtualenvを使用する読者は、virtualenvの下にAnsibleをインストールすることもできますが、心配せずに、Ansibleをグローバルにインストールすることをお勧めします。 easy_installを使用してansibleを直接インストールしないでください。