为什么 gem 不通过 ansible 安装 fpm?

Why doesn't gem install fpm via ansible?

我已经在 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 吗?

我已经通过

解决了问题
- name: install fpm
  command: bash -lc "gem install fpm"

而不是

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

现在它不再要求 fpm,它已安装。但是为什么gem不行呢?