Amazon ec2 为什么';是否通过ansible安装fpm?

Amazon ec2 为什么';是否通过ansible安装fpm?,amazon-ec2,ansible,Amazon Ec2,Ansible,我已经在Amazon云上创建了一个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"} 没有错误。但当我进入实例并尝试运行脚本时,

我已经在Amazon云上创建了一个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的控制台中安装了fpm,脚本将按照指定的方式运行


那么我做错了什么?Ansible没有安装fpm吗?

我已通过以下操作修复了问题

- name: install fpm
  command: bash -lc "gem install fpm"
而不是

- name: install fpm
  gem: name=fpm state=latest
  sudo: yes

现在它不再需要
fpm
,它已经安装好了。但是为什么
gem
不起作用呢?

这并不能解释最初的错误……这只是我知道的一个解决办法,这就是为什么我在回答的最后说“但是为什么
gem
不起作用呢?”