首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向ansible_galaxy_install模块添加路径?

如何向ansible_galaxy_install模块添加路径?
EN

Stack Overflow用户
提问于 2022-04-10 16:11:51
回答 1查看 332关注 0票数 0

当试图使用ansible_galaxy_install安装ansible集合时,我会收到以下错误:

代码语言:javascript
复制
"Failed to find required executable \"ansible-galaxy\" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

我的理解是,ansible_galaxy_install正在托管主机上的上述路径上寻找ansible,并且我需要添加安装ansible的路径。

代码语言:javascript
复制
which ansible-galaxy # managed host
/home/<user>/.local/bin/ansible-galaxy

- name: install collections | sbaerlocher.virtualization | virtualbox
  environment:
    PATH: "{{ lookup('env', 'HOME') }}/.local/bin:{{ ansible_env.PATH }}"
  community.general.ansible_galaxy_install:
    type: collection
    name: sbaerlocher.virtualization

这克服了第一个错误,但随后我收到了第二个错误,即找不到"ansible“模块(也位于/home/<user>/.local/bin/)。接下来的调用似乎不尊重我提供的路径。

代码语言:javascript
复制
fatal: [lenovo_laptop]: FAILED! => {"changed": false, "cmd": "/home/<user>/.local/bin/ansible-galaxy --version", "msg": "Traceback (most recent call last):\n  File \"/home/<user>/.local/bin/ansible-galaxy\", line 44, in <module>\n    from ansible import context\nModuleNotFoundError: No module named 'ansible'", "rc": 1, "stderr": "Traceback (most recent call last):\n  File \"/home/<user>/.local/bin/ansible-galaxy\", line 44, in <module>\n    from ansible import context\nModuleNotFoundError: No module named 'ansible'\n", "stderr_lines": ["Traceback (most recent call last):", "  File \"/home/<user>/.local/bin/ansible-galaxy\", line 44, in <module>", "    from ansible import context", "ModuleNotFoundError: No module named 'ansible'"], "stdout": "", "stdout_lines": []}

我还试着创建了一个连接--ansible银河和ansible,但是它没有克服第二个错误。

代码语言:javascript
复制
- name: install collections | workaround | failed to find required executable | create symbolic links to executables required to install collections
  become: yes
  file:
    src: "{{ lookup('env', 'HOME') }}/.local/bin/{{ item }}"
    path: /usr/bin/{{ item }}
    state: link
    mode: u=rwx,g=rwx,o=rx # '0775'
  loop:
    - ansible-galaxy
    - ansible

我怎样才能让ansible_galaxy_install模块使用我的路径找到ansible-galaxy和ansible?

EN

回答 1

Stack Overflow用户

发布于 2022-04-10 17:14:49

这个问题是混合使用不同文件位置的ansible的pipapt安装造成的。运行pip uninstall ansiblesudo apt install ansible以使我的环境保持一致。模块的搜索路径由ansible --version显示。

应归功于弗拉基米尔博特卡https://www.mail-archive.com/ansible-project@googlegroups.com/msg59830.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71818374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档