我有一台运行ruby 1.9.3p545
和rails版本Rails 3.2.13
的开发机器,目前有5个带有capistrano脚本的应用程序。
我现在想要使用同一台机器开发一个新的应用程序,但Ruby 2.0.0
和Rails 4.1
。
如何在没有冲突的情况下做到这一点。感谢名单!
答案 0 :(得分:1)
Rbenv:https://github.com/sstephenson/rbenv
Ruby-build:https://github.com/sstephenson/ruby-build
Rbenv安装
以root身份
cd /opt
git clone git://github.com/sstephenson/rbenv.git rbenv
touch /etc/profile.d/rbenv
echo 'export RBENV_ROOT=/opt/rbenv' >> /etc/profile.d/rbenv
echo 'export PATH=/opt/rbenv/bin:$PATH' >> /etc/profile.d/rbenv
echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv
编辑 /root/.bashrc 并添加到文件的最顶部
source /etc/profile.d/rbenv
修改 / home /#your_user_name#/ .bashrc 并添加到文件的最顶部
source /etc/profile.d/rbenv
Ruby-build安装
exec $SHELL
mkdir -p $RBENV_ROOT/plugins
cd $RBENV_ROOT/plugins
git clone git://github.com/sstephenson/ruby-build.git
echo 'export PATH="$RBENV_ROOT/plugins/ruby-build/bin:$PATH"' >> /etc/profile.d/rbenv
exec $SHELL
此时你已经准备就绪,准备安装任何版本的ruby
Ruby安装
版本2.1.2和1.9.3p545的示例,但您可以选择任何您想要的版本
rbenv install 2.1.2
rbenv install 1.9.3p545
设置ruby的全球版
rbenv global 2.1.2
设置ruby的区域设置版本
cd /your/project/directory
rbenv local 1.9.3p545
安装Bundler
请注意,在从应用程序root运行bundler以安装gem之前,您必须使用以下命令自行安装bundler
gem install --no-rdoc --no-ri bundler rake
rbenv rehash
更新rbenv
cd /opt/rbenv
git pull
cd /opt/rbenv/plugins/ruby-build
git pull
rbenv rehash
答案 1 :(得分:1)
您可以查看这篇精彩的文章:Phusion Passenger & running multiple Ruby versions
基本上,您可以使用rvm和反向代理来完成它。在你的情况下,ruby -v 2.0.0,如果你使用乘客,你可以:
在apache config中设置反向代理
<VirtualHost *:80>
ServerName www.hamburgers.com
DocumentRoot /path/to/your/app/public
PassengerEnabled off
ProxyPass / http://127.0.0.1:3000
ProxyPassReverse / http://127.0.0.1:3000
</VirtualHost>
您也可以尝试使用独角兽代替乘客,或者用ngix替换apache。