2012-03-14 52 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