0

我有一个虚拟机,我想在其中运行 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 日志中没有这样的消息。任何想法可能是什么问题?

4

1 回答 1

0

从 git repos 安装的 Gem 仅对 Bundler 可见,不会出现在gem list. 这是正常现象,并不表示有问题。实际运行您的应用程序是否存在问题?

于 2013-10-07T11:01:32.143 回答