Capistrano捆绑安装试图在服务器上安装开发宝石

时间:2017-05-19 20:31:45

标签: ruby-on-rails capistrano bundler capistrano3

我有一个开发宝石试图通过capistrano安装在服务器上,并且b / c失败我现在正指向github。

为什么这个gem试图安装在我的服务器上呢?

Gemfile片段:

gem 'capistrano-local-precompile', '~> 1.0', :git => 'git@github.com: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.

1 个答案:

答案 0 :(得分:0)

您的Gemfile.lock中是否存在GIT的{​​{1}}部分,并且该锁定文件是否已提交给您的仓库?换句话说,您是否在本地运行capistrano-local-precompile,同时提交了bundle installGemfile,并在运行Gemfile.lock之前推送了这些更改?

Bundler需要知道cap deploy gem的依赖关系才能进行版本解析。即使您指定capistrano-local-precompile,它仍然需要此信息(因为开发宝石的版本要求会影响生产版本的版本解析)。

如果你的锁文件不存在或者它已经过时(即--without development不在锁文件中),那么Bundler需要从GitHub下载gem才能更新锁文件。 / p>

在相关说明中:我注意到您没有在服务器上的bundle命令中使用capistrano-local-precompile。这可能不是一个好主意。您应该使用--deployment,以便Bundler检查您的Gemfile.lock是最新的,如下所述:

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