我有一个ruby on rails项目要与capistrano一起部署。基本上我可以使用以下代码部署它。
cap production deploy
但它给了我以下失败信息。
** Invoke staging (first_time)
** Execute staging
** Invoke load:defaults (first_time)
** Execute load:defaults
cap aborted!
Capfile locked at 3.2.1, but 3.3.3 is loaded
我在这个例外上找不到任何东西。你知道什么是真正的问题。 BTW捆绑更新不起作用。
答案 0 :(得分:5)
如果有lock '3.2.1'
之类的内容,请参阅config / deploy.rb。因为如果您的Gemfile有gem capistrano, '~>3.2.1'
,它将更新为3.3.3但它被锁定在deploy.rb
。即使使用lock '>=3.2.1'
,我仍然在版本3.3.3中遇到.capistrano/metrics
问题。
答案 1 :(得分:2)
我向Gemfile添加了gem 'capistrano', '~> 3.2.1'
。 $ bundle update
问题解决后。
答案 2 :(得分:2)
卸载版本3.3.3并安装3.2.1将解决您的问题。
1: sudo gem uninstall capistrano
select the version you want to uninstall(3.3.3 in your case)
答案 3 :(得分:1)
bundle exec cap production deploy
您需要在捆绑包的上下文中使用cap
命令,而不是系统。