[英]Capistrano RVM and Ubuntu RVM is not a function, selecting rubies with 'rvm use …' will not work
[英]Rvm - Capistrano integration on Linux Ubuntu
我試圖正確使用Capistrano和RVM,以便將Ruby on Rails 3.2.2應用程序部署到運行Ubuntu 10.04 LTS的遠程計算機上。 我閱讀了“ 如何配置capistrano以使用我的rvm版本的Ruby ”問題/答案和“ 使用Capistrano使用RVM紅寶石 ”官方文檔,但是仍然存在一些與Rvm-Capistrano集成有關的問題。
例如,關於通過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的路徑值?
最后,您建議使用哪種集成類型?
首先確保在計算機上安裝了rvm。
如果未安裝rvm,請參見RVM安裝說明或Ubuntu 10.04上的RVM 。
然后找到rvm的安裝位置,可以使用find
或locate
命令完成。
例如
find / -iname *rvm
要么
locate rvm
在這些命令的輸出中,您將看到類似/somedirectory/someotherdirectory/.rvm/gees/somethingelse的內容。
/somedirectory/someotherdirectory/
是您在deploy.rb
/path/to/
替換/path/to/
或在Capistrano中使用RVM紅寶石的第一個選項的文檔中的unshift命令中替換ENV['rvm_path']
的內容。
deploy.rb
中的路徑是
/path/to/.rvm
RVM安裝路徑
'PATH'
是用於從中調用rvm二進制文件的二進制路徑。
有關PATH的更多信息,請參見此處 。
GEM_HOME
是Gem的主目錄。
有關寶石的更多信息,請參見此處 。
'GEM_PATH'
是寶石的路徑。
'BUNDLE_PATH'
是捆綁包的路徑。
有關捆綁和捆扎機的更多信息,請參見此處 。
我已經創建了用於rvm / capistrano集成的示例項目https://github.com/mpapis/ad
並且您可以在這里看到創建部署腳本有多么容易https://github.com/mpapis/ad/blob/master/config/deploy.rb
最重要的是在部署之前訪問服務器並安裝正確的紅寶石。
我還將添加新的集成任務以安裝rvm / ruby-> https://github.com/wayneeseguin/rvm/issues/829
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.