我有一个虚拟机,我想在其中运行 Rails 应用程序。我使用 Vagrant 来运行它,并使用 Puppet 作为配置工具。
我想bundle install
在配置期间运行,以便 VM 准备就绪。我用这个:
exec { 'bundle install':
command => 'bundle install',
cwd => '/vagrant/',
logoutput => true,
}
除一个以外的所有 gem 都已安装。问题在于ember-rails
,这是唯一一个在 Gemfile 中指定了 GitHub 存储库:
gem 'ember-rails', github: 'emberjs/ember-rails'
我想这一定是Puppet的问题。当我 ssh 进入虚拟机并bundle install
手动运行时,gem 被下载并使用。通过 Vagrant 运行配置时,Puppet 会记录此消息,但 gem 似乎丢失了:
/Stage[main]/Bundler/Exec[bundle install]/returns: Using ember-rails (0.9.2) from git://github.com/emberjs/ember-rails.git (at master)
我注意到一个不同之处。当我bundle install
手动运行时,Bundler 会记录以下内容:
Fetching git://github.com/emberjs/ember-rails.git
但是,Puppet 日志中没有这样的消息。任何想法可能是什么问题?