我已经按照 ansible 文档的建议使用 pip 在我的 Mac 上安装了 ansible: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-macos
但是,当我尝试运行 ansible 时,我得到以下信息:
zsh: command not found: ansible
我之前安装ansible的时候从来没有遇到过这个问题。
pip-installing 再次告诉我它已经安装在站点包下:
Requirement already satisfied: ansible in ./Library/Python/3.8/lib/python/site-packages (2.9.11)
我在 ~/.zshrc 中的 python 安装指向:
# Add user python 3.7 to path
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
对某些人来说可能是显而易见的,但我不明白为什么这个简单的安装不起作用..
用
python3 -m pip install --user ansible
安装ansible后,我搜索了ansible二进制文件,发现它被下载到~/Library/Python/3.8/bin
中。最简单的方法是解决这个问题:
$ cd ~
$ find . | grep ansible
<lines omitted>
./Library/Python/3.8/bin/ansible
<lines omitted>
从那里,它非常简单,只需更新你的 .bash_profile 或 .zshrc
export PATH="/path/to/Library/Python/3.8/bin:$PATH"
你应该可以走了:
$ source ~/.zshrc
$ ansible --version
ansible 2.10.8
config file = None
configured module search path = ['/Users/dbove/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
brew install ansible
brew link ansible
以下命令对我有用:
卸载ansible
sudo pip 卸载 ansible
然后使用安装(注意:-H 标志在这里很重要,它将 HOME 变量设置为目标用户的主目录)
sudo -H pip3 安装ansible
使用检查版本
ansible --版本
安装后如下:
python3 -m pip install --user ansible
编辑.zshrc:
export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH
你应该添加
$HOME/.local/bin
。
卸载ansible
sudo pip uninstall ansible
。sudo pip3 install ansible
。ansible --version
检查版本。
注意:确保您已安装 pip3,如果没有,请使用ansible 2.10.3
brew install python3
安装
我看到了同样的错误,我缺少 ansible-lint
brew install ansible
brew install ansible-lint
我有多个 ansible 实例。我按照以下步骤纠正了 ansible 命令未找到错误。
python3 -m pip uninstall ansible
python3 -m pip uninstall ansible-core
cd ~
find . | grep ansible
rm -rf /usr/local/lib/python3.6/site-packages/ansible*
rm -rf /root/.local/lib/python3.6/site-packages/ansible
rm -rf ./.ansible
rm -rf ./.local/lib/python3.6/site-packages/ansible_test
sudo yum install python3-pip
pip3 install ansible
pip3 install openshift
pip3 list | grep ansible
ansible (4.8.0)
ansible-core (2.11.6)
ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default, Sep 12 2021, 04:40:35) [GCC
8.4.1 20200928 (Red Hat 8.4.1-1)]. This feature will be removed from ansible-core in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False
in ansible.cfg.
ansible [core 2.11.6]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.6.8 (default, Sep 12 2021, 04:40:35) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
jinja version = 3.0.2
libyaml = True
使用 pip 在 Mac 上安装 Ansible 后,我遇到了类似的问题:
python3 -m pip install --user ansible
我所要做的就是卸载使用 pip 安装的 Ansible:
python3 -m pip uninstall ansible -y
然后我使用自制程序安装了它:
brew install ansible
此后,当我跑步时:
ansible --version
效果很好