如何为所有用户共享 ansible-galaxy 集合模块?

问题描述 投票:0回答:1

我正在另一个环境中安装 ansible,当我运行我的 playbook 时出现这个错误

ERROR! couldn't resolve module/action 'mount'. This often indicates a misspelling, missing collection, or incorrect module path.

我通过在 root 下安装 ansible.posix 来修复这个问题

ansible-galaxy collection install ansible.posix

但是当我在某些用户下运行此剧本时,我再次遇到此错误。 看起来模块没有共享。

也许与我的核心 ansible 安装没有完成 100% OK 有关。我是通过 pip 安装的。 我在这里创建了另一个Q

https://superuser.com/questions/1778858/building-wheel-for-ansible-setup-py-error-unable-to-install-ansible

ansible
1个回答
0
投票

默认情况下,ansible 查找

~/.ansible/collections
中的集合,可以使用
COLLECTION_PATHS
选项(检查 docs)进行更改。

我不确定

ansible-galaxy
是否会遵守此设置,但是在安装角色或集合时,您可以使用
-p
参数强制路径。运行
ansible-galaxy collection install --help
查看所有可用选项。

如果我没记错的话,

ansible.posix
应该是默认安装的一部分,所以如果它丢失了,我会假设你安装
ansible
时出了问题。

我通常将ansible安装在一个

venv
中,以将其与我安装的其他python程序隔离开来。你甚至可以在用户之间共享那个 venv,你也可以共享一个包含你的收藏的目录。
但为了简单起见,我建议始终使用相同的用户来运行您的剧本。

© www.soinside.com 2019 - 2024. All rights reserved.