ruby - 通过 Ansible 控制 Vagrant 插件依赖

标签 ruby vagrant ubuntu-12.04 nokogiri ansible

我有一个安装 Vagrant 的 Ansible 剧本,然后指示 Vagrant 安装特定的插件。 Vagrant 在安装所需的 gem 时遇到问题,并说:

An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
Make sure that `sudo gem install nokogiri -v '1.6.6.2'` succeeds before bundling.
stdout: Installing the 'vagrant-aws --version '0.5.0'' plugin. This can take a few minutes...

虽然我在使用命令安装 Nokogiri 时遇到问题:

$ sudo gem install nokogiri -v '1.6.6.2'

正如 vagrant 所做的那样,我发现我可以使用以下命令手动安装 Nokogiri:

$ sudo gem install nokogiri -v 1.6.6.2 -- --use-system-libraries --with-xml2-include=/usr/include/libxml2

即使在我手动安装 gem 之后,如果我手动告诉它安装插件,vagrant 仍然会失败。

有没有办法更好地控制这些依赖关系,以便 vagrant 不会失败并且我的 playbook 会完成?

最佳答案

事实证明我缺少一些关键依赖项:build-essentiallibxslt1-devlibxml2-dev zlib1g-dev。我在这里找到了这条评论:https://github.com/mitchellh/vagrant-aws/issues/163#issuecomment-27603855很有帮助。

关于ruby - 通过 Ansible 控制 Vagrant 插件依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28287904/

相关文章:

java - 从 Java 运行 Ruby 命令行应用程序

ubuntu - PuPHPet Vagrant box 需要 apt-get 更新吗?

ubuntu-12.04 - Ubuntu 12.04 ruby​​ 包安装错误

hadoop - 用户登录时从 Ubuntu 中删除用户

ruby - 有 N 个正面概率的投币器

ruby-on-rails - 如何在Ruby on Rails中作为附件接收/上传模型中的音频文件?

ruby-on-rails - rails 4 simpecov 丢失文件

Vagrant Homestead 上的 PhpStorm 和 XDebug

apache - Centos 7,带有 Virtualbox 的 Vagrant - Apache 虚拟主机在 guest 机器上工作,主机上显示 "it works"

c++ - 从 init.d 脚本启动时程序无法打开文件