2012-03-14 51 views
1

我想正確使用Capistrano和RVM,以便將Ruby on Rails 3.2.2應用程序部署到運行Ubuntu 10.04 LTS的遠程機器上。我閱讀了「How do I configure capistrano to use my rvm version of Ruby」問題/答案和「Using RVM rubies with Capistrano」官方文檔,但我仍然有一些與Rvm - Capistrano集成有關的問題。Rvm - Linux上的Capistrano集成Ubuntu

例如,通過RVM Capistrano的插件與該集成(更多信息請參見官方文檔),我有什麼做完全(因爲我不明白其中如何把相關的代碼)

或者,通過:default_environment與該集成(更多信息請參見官方文檔),你應該正確地說出下面的代碼在deploy.rb文件:

set :default_environment, { 
    'PATH'   => "/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:/path/to/.rvm/ree-1.8.7-2009.10/bin:$PATH", 
    'RUBY_VERSION' => 'ruby 1.8.7', 
    'GEM_HOME'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01', 
    'GEM_PATH'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01', 
    'BUNDLE_PATH' => '/path/to/.rvm/gems/ree-1.8.7-2010.01' # If you are using bundler. 
} 

什麼的路徑是指?如何檢索運行Linux Ubuntu的路徑值?

最後,您建議使用哪種集成類型?

回答

1

首先確保安裝在機器上的rvm。

請參閱RVM Installation InstructionsRVM on Ubuntu 10.04如果rvm未安裝。

然後找到rvm的安裝位置,可以使用findlocate命令完成。

E.g.

find/-iname *rvm

locate rvm

在這些命令的輸出,你會看到的東西,看起來像/somedirectory/someotherdirectory/.rvm/gees/somethingelse。

/somedirectory/someotherdirectory/是什麼,你會在deploy.rb替換/path/to/Using RVM rubies with Capistrano第一個選項的文檔中替換ENV['rvm_path']在不印字命令。

deploy.rb路徑是

/path/to/.rvm RVM安裝路徑

'PATH'是用於調用從RVM二進制二進制路徑。

有關PATH的更多信息,請參閱here

GEM_HOME是寶石的主目錄。

有關寶石的更多信息,請參閱here

'GEM_PATH'是寶石的道路。

'BUNDLE_PATH'是Bundle的PATH。

有關Bundles和Bundler的更多信息,請參閱here。對於RVM/Capistrano的整合

+0

它接縫,我解決了這個問題。但是,現在我得到另一個錯誤:http://stackoverflow.com/questions/9703680/rvm-capistrano-and-delayedjob-the-you-need-to-add-gem-daemons-to-your-gemfi – user502052 2012-03-14 14:17:46

0

我創建示例項目https://github.com/mpapis/ad

,你可以看到它是多麼容易在這裏創建部署腳本https://github.com/mpapis/ad/blob/master/config/deploy.rb

最重要的是,在部署之前訪問服務器,並安裝正確的紅寶石。

我也將增加一個新的任務,集成安裝RVM /紅寶石 - >https://github.com/wayneeseguin/rvm/issues/829

+0

它接縫我解決了這個問題。但是,現在我得到另一個錯誤:http://stackoverflow.com/questions/9703680/rvm-capistrano-and-delayedjob-the-you-need-to-add-gem-daemons-to-your-gemfi – user502052 2012-03-14 14:18:19