我在Amazon Cloud上创建了一个EC2实例,我也通过ansible安装了一些东西。但是当它使用gem安装fpm时:
- name: install fpm
gem: name=fpm state=latest
sudo: yes
它说:
changed: [XX.XX.XXX.XXX] => {"changed": true, "name": "fpm", "state": "latest", "version": "1.3.3"}
没有错误。但是当我进入实例并尝试运行脚本时,它会说:
fpm is mandatory, please run gem install fpm
如果我在EC2的控制台中执行sudo gem install fpm
,则脚本按预期运行。
那么我做错了什么? Ansible不安装fpm吗?
答案 0 :(得分:0)
我已经通过
修复了问题- name: install fpm
command: bash -lc "gem install fpm"
而不是
- name: install fpm
gem: name=fpm state=latest
sudo: yes
现在它不再要求fpm
,它已安装。但为什么gem
不起作用?