Rails アプリケーションを実行したい仮想マシンがあります。Vagrant を使用して実行し、Puppet をプロビジョニング ツールとして使用します。
bundle install
VM の準備が整うように、プロビジョニング中に実行したいと考えています。私はこれを使用します:
exec { 'bundle install':
command => 'bundle install',
cwd => '/vagrant/',
logoutput => true,
}
1 つを除くすべての gem がインストールされます。問題はember-rails
、Gemfile で指定された GitHub リポジトリを持つ唯一のものである にあります。
gem 'ember-rails', github: 'emberjs/ember-rails'
これはパペットの問題だと思います。VM に 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)
1つの違いに気づきました。手動で実行するとbundle install
、Bundler は次のようにログに記録します。
Fetching git://github.com/emberjs/ember-rails.git
ただし、Puppet ログにはそのようなメッセージはありません。何が問題なのですか?