在RubyMine中,我可以为项目选择目标Ruby版本并运行它。
现在关于制作。
我们有两种变体可以为Rails应用程序构建主机:
如何在每个配置上运行两个为不同Ruby版本构建的Rails应用程序?
要求:这两个应用程序应该在不同虚拟主机上的同一台服务器上运行。
已安装RVM。
答案 0 :(得分:2)
在部署应用程序时选择不同Ruby版本的简单方法是使用Capistrano进行部署。在封顶您的应用程序之后,您可以在Capfile
您的Capfile
应该看起来像这样
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano/rvm'
这样您就可以将特殊的RVM选项加载到Capistrano中,以便指定要使用的ruby版本。
要指定要使用的特定Ruby版本,您可以为deploy.rb
添加一行以用于系统范围的部署选项,或者为production.rb
或staging.rb
添加一行,如果您需要不同的ruby版本每台服务器。
通过添加以下行,您可以指定所需的Ruby版本:
set :rvm_ruby_version, '2.0.0-p247'
部署应用程序后,您仍然需要指定Passenger将使用的ruby版本。您可以通过编辑特定于您的站点或子域的apache配置文件来指定此项。编辑Apache配置文件时。
<VirtualHost *:80>
PassengerRuby /home/someuser/.rvm/wrappers/<ruby-version-here>/ruby
******
</VirtualHost>
首先执行rvm use <ruby version>
然后执行which ruby
,您可以看到需要哪个ruby版本,这将为您提供输入VirtualHost文件的路径。
希望对你有用