2014-12-08 111 views
1

我有一個紅寶石欄杆項目將部署與capistrano。基本上我可以用下面的代碼來部署它。無法與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

刪除'gemlock'文件和'bundle'一次。 – Nithin 2014-12-08 09:06:38

+0

它不適用於'bundle install'。 – zeitnot 2014-12-08 09:35:57

+0

是bundle succesfull?我看到在這兩個文件中可以有不同版本的帽子 – Nithin 2014-12-08 09:40:18

回答

2

我將gem 'capistrano', '~> 3.2.1'添加到Gemfile中。 $ bundle update後問題修復。

1

bundle exec cap production deploy

你需要在你的包的情況下,而不是系統使用cap命令。

+0

我已經嘗試過了,但它不能幫助我。它完全給出了同樣的失敗信息。 – zeitnot 2014-12-08 13:34:09

4

如果存在諸如lock '3.2.1'之類的內容,請參閱config/deploy.rb。因爲如果你的Gemfile有寶石capistrano, '~>3.2.1',它會更新到3.3.3,但它鎖定在deploy.rb。即使使用lock '>=3.2.1'我仍然遇到版本3.3.3中的.capistrano/metrics問題。

+0

我剛剛創建了文件夾/文件.capistrano/metrics,它可以工作。 – 2014-12-19 14:58:24

+0

PS:如果我刪除鎖定或將鎖定爲'3.3.3',它就會工作。 – 2015-01-06 15:52:22

2

卸載版本3.3.3和安裝3.2.1將解決您的問題。

1:須藤寶石卸載Capistrano的

select the version you want to uninstall(3.3.3 in your case)