为什么 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
不行呢?
我已经在 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
不行呢?