我有一个虚拟机,我想运行Rails应用程序。我使用Vagrant来运行它,将Puppet作为配置工具。
我想在配置期间运行bundle install
,以便VM准备就绪。我用这个:
exec { 'bundle install':
command => 'bundle install',
cwd => '/vagrant/',
logoutput => true,
}
所有宝石都安装了。问题出在ember-rails
,这是唯一一个在Gemfile中指定GitHub repo的人:
gem 'ember-rails', github: 'emberjs/ember-rails'
我认为这一定是Puppet问题。当我进入VM并手动运行bundle install
时,将下载并使用gem。当通过Vagrant运行配置时,Puppet会记录此消息,但宝石似乎丢失了:
/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日志中没有此类消息。任何想法可能是什么问题?
答案 0 :(得分:0)
从git repos安装的Gems仅对Bundler可见,不会出现在gem list
中。这是正常现象,并不表示存在问题。实际运行你的应用程序有问题吗?