我正在尝试正确使用 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 capistrano 插件的集成(请参阅官方文档了解更多信息),我必须做的事情(因为我没有不明白相关代码的位置和如何)?
或者,关于通过 :default_environment
进行的集成(有关更多信息,请参阅官方文档),您应该在 deploy.xml 中正确声明以下代码。 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 Installation Instructions 或 RVM on Ubuntu 10.04如果未安装 rvm。
然后找到 rvm 的安装位置,这可以使用 find
或 locate
命令来完成。
例如
查找/-iname *rvm
或
定位 rvm
在这些命令的输出中,您会看到类似/somedirectory/someotherdirectory/.rvm/gees/somethingelse 的内容。
/somedirectory/someotherdirectory/
是您将在 deploy.rb
中替换 /path/to/
或替换 ENV['rvm_path']
在第一个选项的文档中的 unshift 命令中 Using RVM rubies with Capistrano .
deploy.rb
中的路径是
/path/to/.rvm
RVM 安装路径
'PATH'
是用于从中调用 rvm 二进制文件的二进制路径。
参见 here有关 PATH 的更多信息。
GEM_HOME
是 Gem 的主目录。
参见 here有关 gem 的更多信息。
'GEM_PATH'
是 Gem 的路径。
'BUNDLE_PATH'
是 Bundle 的路径。
参见 here获取有关 Bundle 和 Bundler 的更多信息。
关于ruby-on-rails - Rvm - Linux Ubuntu 上的 Capistrano 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700638/