Ruby运行环境的安装

1、首先安装RVM,RVM(Ruby Version Manager)是个好东西,他可以非常方便的管理多个版本的Ruby及其Rails环境,这个对于我们目前的情况很有帮助。
目前使用的项目主要分两类:
Ruby 1.8.7 + Rails 2.3.x
Ruby 1.92. + Rails3.x
使用rvm轻松在一台机器上搞定

执行下列脚本安装RVM,安装RVM需要用到GIT和curl,并根据提示安装相关依赖包,当前是安装到/usr/local/rvm中的(多用户环境):
curl -s https://rvm.beginrescueend.com/install/rvm -o rvm-installer ; chmod +x rvm-installer ; ./rvm-installer --version latest


设置用户环境变量,执行以下指令:
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile


使用户环境变量生效:
source ~/.bash_profile


如果执行
type rvm | head -1
,返回rvm is a function,则代表rvm已安装成功。

2、安装不同版本的ruby实现,如:
rvm install ree 代表安装Ruby Enterprise Edition
rvm install rbx 代表安装rubinius
rvm install 1.8.7 安装matz实现的1.8.7版

安装完毕之后,让rvm默认使用ree:
rvm use ree --default


如果你想使用系统自带的ruby,可以这样切换
rvm use system


如果你安装了多个版本的ruby,可以用
rvm list
来查看

3、创建ruby版本管理配置文件,如果一不小心,跳过此步骤,后续的操作系统引用的gem source就非常混乱。并且在安装的时候会提示错误。请务必操作此步骤。我的GEM Set命名为rails3。
命令如下所示:
rvm gemset create rails2


加载rails3这个环境:
rvm ree@rails2


安装rails3
gem install rails -v=2.3.11


安装rake
gem install rack -v=1.0.1


安装i18n
gem install i18n -v=0.4.2


安装mysql驱动
gem install mysql -- --with-mysql-lib=/opt/mysql-5.1.56/lib/mysql/ --with-mysql-dir=/backup/repo/mysql/mysql-5.1.56/ #需要设置编译参数
也可以使用gem install ruby-mysql来代替

安装passenger
gem install passenger

编译nginx:
/configure --prefix='/opt/nginx-1.0.0' --with-http_ssl_module --add-module='/usr/local/rvm/gems/ree-1.8.7-2011.03@rails2/gems/passenger-3.0.7/ext/nginx'

在nginx.conf中加入
 http {
      ...
     passenger_root /usr/local/rvm/gems/ree-1.8.7-2011.03@rails2/gems/passenger-3.0.7;
      passenger_ruby /usr/local/rvm/wrappers/ree-1.8.7-2011.03@rails2/ruby;
      ...
  }


passenger_ruby如果不是指向ree的ruby解释器,会导致之后的gem源丢失问题。请务必确保此处指向的ruby与你所使用的ruby环境中的一致,可通过 rvm info命令查看现在所使用的ruby位置与版本。

按照安装提示修改nginx的配置文件,在server配置节,倒数第二行增加:
   server {
      listen 80;
      server_name www.yourhost.com;
      root /somewhere/public;   # <--- be sure to point to 'public'!
      passenger_enabled on;
   }


参考网站: https://rvm.beginrescueend.com/

猜你喜欢

转载自matt-u.iteye.com/blog/1041849