2017-05-19 131 views
0

我有一個試圖通過capistrano安裝在服務器上的開發寶石,並且正在失敗的b/c我現在指向github。Capistrano軟件包安裝嘗試在服務器上安裝開發寶石

爲什麼這個gem試圖安裝在我的服務器呢?

的Gemfile片段:

gem 'capistrano-local-precompile', '~> 1.0', :git => '[email protected]:stve/capistrano-local-precompile.git', :branch => 'cap3', :group => :development, require: false 

Capistrano的片段輸出:

00:08 bundler:install 
     01 ~/.rvm/bin/rvm 2.3.3 do bundle install --path /var/www/csmschedule/shared/bundle --without development test --quiet --no-cache 
     01 The authenticity of host 'github.com (192.30.253.112)' can't be established. 
     01 
     01 RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. 

回答

0

在你Gemfile.lock的爲capistrano-local-precompile目前GIT部分,是致力於您的回購該鎖文件?換句話說,您是否在本地運行bundle install,同時提交了GemfileGemfile.lock,並在運行cap deploy之前推送這些更改?

Bundler需要知道capistrano-local-precompile gem的依賴關係才能進行版本解析。即使您指定了--without development,它仍然需要此信息(因爲開發寶石的版本要求會影響生產版本的版本解析)。

如果您的鎖定文件不存在或者它已過期(即capistrano-local-precompile不在鎖定文件中),Bundler需要從GitHub下載gem以更新鎖定文件。

在相關說明上:我注意到您在服務器上的捆綁軟件命令中沒有使用--deployment。這可能不是一個好主意。您應該使用--deployment使捆紮機檢查你的Gemfile.lock的是最新的,如下所述:

http://bundler.io/v1.15/man/bundle-install.1.html#DEPLOYMENT-MODE

相關問題