ruby-on-rails - "Could not find RubyGem puppet"在 Vagrant

标签 ruby-on-rails rubygems puppet vagrant

我可以手动运行 bundle install并恢复理智,但是当我让 Puppet 提供一个 Vagrant 盒子时,这种情况第二次发生(我第一次获得成功输出)。

[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with /tmp/vagrant-puppet/manifests/default.pp...
stdin: is not a tty
/opt/vagrant_ruby/lib/ruby/site_ruby/1.8/rubygems.rb:900:in `report_activate_error': Could not find RubyGem puppet (>= 0) (Gem::LoadError)
    from /opt/vagrant_ruby/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
    from /opt/vagrant_ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1276:in `gem'
    from /opt/vagrant_ruby/bin/puppet:18
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

我没有在任何地方请求 puppet gem,它不在我的 Gemfile 中,我的 list 也不需要它。为什么要寻找 puppet gem ,我该如何摆脱这个错误?

最佳答案

我正在使用 https://github.com/blt04/puppet-rvm使用 RVM 配置我的 Vagrant 盒子,我遇到了同样的问题。取消设置“default_use => true”确实可以修复它。不幸的是,一旦您通过 ssh 进入该框,您就必须手动选择您的目标 Ruby。

或者,您可以将 puppet gem 显式添加到 list 中的默认 Ruby(不添加到任何 gemset,只添加到 Ruby 本身)。它仍然一直困扰我关于缺少 hiera (??) 的一些配置文件,但它似乎仍然有效。

我想知道 Vagrant 上的 RVM 是否值得麻烦。创建 Vagrant box 的全部意义在于为单个项目提供一个隔离的环境,那么为什么我需要多个 Ruby/Gemsets 呢?

关于ruby-on-rails - "Could not find RubyGem puppet"在 Vagrant ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052106/

相关文章:

ruby - 管理 ruby​​ gem 的冲突版本

ruby - 为什么我的 Puppet 模板返回 true 而不是 awk 的输出?

ruby-on-rails - 使用 Heroku + Rails 进行 Apache 风格的日志记录

ruby - 在 OS X Yosemite 上安装 Metasploit Framework,找不到 metasploit-framework -v '4.10.1.pre.dev'

ruby-on-rails - Ruby on Rails 最好的 Wiki Gem 是什么?

puppet - 为什么有Puppet 'Exec'和Puppet 'exec'两种类型

puppet - 如何使用 puppet 安装本地 rpm

ruby-on-rails - 使用回形针和 rails 删除多个文件 (check_box_tag)

ruby-on-rails - rails : How to access current controller in an Observer?

ruby-on-rails - 更改日期类型中的年份值范围以适应可能的出生年份 Rails、Simple_Form、HTML