【问题标题】:Puppet - Bundler does not install a gem from GitHubPuppet - Bundler 不会从 GitHub 安装 gem
【发布时间】:2013-10-06 16:59:03
【问题描述】:

我有一个虚拟机,我想在其中运行 Rails 应用程序。我使用 Vagrant 运行它并使用 Puppet 作为配置工具。

我想在配置期间运行bundle install,以便虚拟机准备就绪。我用这个:

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 日志中没有这样的消息。任何想法可能是什么问题?

【问题讨论】:

  • 尝试指定path (docs.puppetlabs.com/references/latest/…) 属性。可能没有它捆绑找不到git 命令并静默失败。
  • 我已经指定了路径。没有它,捆绑失败并显示错误消息。所以这不是问题。

标签: github rubygems bundler vagrant puppet


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多