我有一个虚拟机,我想在其中运行Rails应用程序。我使用Vagrant运行它,使用Puppet作为配置工具。
我想在配置期间运行bundle install,这样VM就准备好了。我使用的是:
exec { 'bundle install':
command => 'bundle install',
cwd => '/vagrant/',
logoutput => true,
}除了一个gem之外,所有的gem都已安装。问题出在ember-rails,它是唯一一个在Gemfile中指定了GitHub存储库的应用程序:
gem 'ember-rails', github: 'emberjs/ember-rails'我想这一定是个傀儡问题。当我通过ssh进入VM并手动运行bundle install时,就会下载并使用gem。通过Vagrant运行provision时,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日志中没有这样的消息。你知道问题出在哪里吗?
发布于 2013-10-07 19:01:32
从git repos安装的Gems只对Bundler可见,不会出现在gem list中。这是正常的,并不表示存在问题。你的应用程序实际运行时有问题吗?
https://stackoverflow.com/questions/19211433
复制相似问题