2012-03-02 48 views
1

以下是由Capistrano部署中的耙機引起的錯誤。該錯誤還會導致rails 3.1.3部署的回滾和故障(對於單個用戶安裝了rvm)。Capistrano部署中的「未安裝Gem bundler」 - 錯誤消息已更新

** [out :: 76.195.225.93] ←[31mERROR: Gem bundler is not installed, run `gem in 
    command finished in 54ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/byop/releases/20120302230229; true" 

gem list shows bundler 1.0.22。此外,還將bundler添加到.rvm/gemset /下的default.gems和global.gems中。什麼可能導致錯誤?非常感謝。

+0

預編譯任務是否在本地爲您工作? – James 2012-03-02 20:42:41

+0

跑耙RAILS_ENV =生產RAILS_GROUPS =資產資產:本地預編譯。差不多3分鐘過去了,它仍在運行。但似乎沒問題。 – user938363 2012-03-02 20:55:01

+0

很慢。可能需要5分鐘。但它工作沒有錯誤。 – user938363 2012-03-02 20:57:25

回答

1

您需要在服務器gemset中安裝bundler。

+0

寶石列表還顯示bundler 1.0.22已安裝。 – user938363 2012-03-02 20:45:32

+0

再次運行gem install bundler。部署錯誤是相同的。 – user938363 2012-03-02 21:06:15

+0

在gemset下的服務器上添加了bundler到default.gems和global.gems。仍然無法找到捆綁商。任何我可以錯過的地方? – user938363 2012-03-02 22:57:49

1

部署配方設置默認的環境:

set :default_environment, { 
'RUBY_VERSION' => 'ruby-1.9.2-p320', 
'LANG'   => 'en_US.UTF-8', 
'GEM_HOME'  => '/usr/local/rvm/gems/ruby-1.9.2-p320', 
'GEM_PATH'  => '/usr/local/rvm/gems/ruby-1.9.2-p320:/usr/local/rvm/gems/[email protected]', 
'BUNDLE_PATH' => '/usr/local/rvm/gems/ruby-1.9.2-p320:/usr/local/rvm/gems/[email protected]' 
} 

你可以在你的情況只是束路徑!

1

我有同樣的問題。檢查並查看您的/etc/profile.d目錄中是否存在名爲rvm.sh的文件。如果是這樣,那麼你在多用戶模式下安裝rvm。我通過將source /etc/profile添加到我的主目錄中的.bashrc文件中,將其固定在我的服務器上(Ubuntu 12.04)。

1

如果您已經安裝在遠程服務器上的RVM寶石捆綁,一定要:

require 'rvm/capistrano' 

如果你的config/deploy.rb

如果你得到需要,你的錯誤可能需要使用修復您的RVM路徑以及在deploy.rb:

$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) 

我寧願只安裝寶石作爲系統的寶石。 RVM是你的朋友。