RVM解决Ruby的版本问题
RVM 是⼀个命令⾏⼯具,可以提供⼀个便捷的多版本 Ruby 环境的管理和切换。
RVM 的官⽹是。如果你打算学习 Ruby / Rails, RVM 是必不可少的⼯具之⼀。
这⾥所有的命令都是再⽤户权限下操作的,任何命令最好都不要⽤ sudo.
RVM 安装
$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
修改 RVM 的 Ruby 安装源到国内的淘宝镜像服务器,这样能提⾼安装速度
FOR Mac
$ sed -i .bak -E 's!https?:///pub/ruby!/mirrors/ruby!' $rvm_path/config/db
FOR Linux
$ sed -i -E 's!https?:///pub/ruby!/mirrors/ruby!' $rvm_path/config/db
Ruby 的安装与切换
rubyinstaller安装列出已知的 Ruby 版本
$ rvm list known
安装⼀个 Ruby 版本
$ rvm install 2.2.0
这⾥安装了最新的 2.2.0, rvm list known 列表⾥⾯的都可以拿来安装。
切换 Ruby 版本
$ rvm use 2.2.0
如果想设置为默认版本,这样⼀来以后新打开的控制台默认的 Ruby 就是这个版本
rvm use 2.2.0 --default
查询已经安装的ruby
$ rvm list
卸载⼀个已安装版本
$ rvm remove 1.8.7
gemset 的使⽤
RVM 不仅可以提供⼀个多 Ruby 版本共存的环境,还可以根据项⽬管理不同的 gemset.
gemset 可以理解为是⼀个独⽴的虚拟 Gem 环境,每⼀个 gemset 都是相互独⽴的。
⽐如你有两个项⽬,⼀个是 Rails 2.3 ⼀个是 rails3. gemset 可以帮你便捷的建⽴两套 Gem 开发环境,并且⽅便的切换。
gemset 是附加在 Ruby 语⾔版本下⾯的,例如你⽤了 1.9.2, 建⽴了⼀个叫 rails3 的 gemset,当切换到 1.8.7 的时候,rails3 这个 gemset 并不存在。
建⽴ gemset
$ rvm use 1.8.7
$ rvm gemset create rails23
然后可以设定已建⽴的 gemset 做为当前环境
use可以⽤来切换语⾔或者 gemset
前提是他们已经被安装(或者建⽴)。并可以在 list 命令中看到。
$ rvm use 1.8.7
$ rvm use 1.8.7@rails23
然后所有安装的 Gem 都是安装在这个 gemset 之下。
列出当前 Ruby 的 gemset
$ rvm gemset list
清空 gemset 中的 Gem
如果你想清空⼀个 gemset 的所有 Gem, 想重新安装所有 Gem,可以这样
$ rvm gemset empty 1.8.7@rails23
删除⼀个 gemset
$ rvm gemset delete rails2-3
项⽬⾃动加载 gemset
RVM 还可以⾃动加载 gemset。
例如我们有⼀个 Rails 3.1.3 项⽬,需要 1.9.3 版本 Ruby,整个流程可以这样。
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm gemset create rails313
$ rvm use 1.9.3@rails313
下⾯进⼊到项⽬⽬录,建⽴⼀个 .rvmrc ⽂件。
在这个⽂件⾥可以很简单的加⼀个命令:
$ rvm use 1.9.3@rails313
然后⽆论你当前 Ruby 设置是什么,cd 到这个项⽬的时候,RVM 会帮你加载 Ruby 1.9.3 和 rails313 gemset.
解决gem 的镜像问题
对于初学者,⼀定会遇到执⾏ bundle 时就被卡住的现像,这是由于 上在国内是超级慢甚⾄可以说是不可⽤的状态。悻然我们还有 taobao,可以⽤taobao提供的镜像来替代这⼀个让⼈头痛的问题。
以下内容是引⽤⾄ RubyGems 上的使⽤说明。
$ gem sources --add / --remove /
$ gem sources -l
*** CURRENT SOURCES ***
# 请确保只有
$ gem install rails
如果你使⽤ Gemfile 和 Bundle (例如:Rails 项⽬)
你可以⽤ Bundler 的 Gem 源代码镜像命令。
$ bundle config mirror.
这样你不⽤改你的 Gemfile 的 source。
source '/'
gem 'rails', '4.1.0'
.
..
使⽤ RVM 快速部署 Nginx + Passenger
Passenger 是⼀个 app server,⽀持基于 Rack 框架的 Ruby app(包括 Rails)。Passenger 的特点是需要作为模块编译到 Nginx 中,优点是配置简单,不需要⾃⼰写启动脚本。
⾸先安装 Passenger
$ gem install passenger
然后使⽤passenger-install-nginx-module来安装 Nginx 和部署。
因为这⼀步需要 root 权限(因为要编译 Nginx)可以⽤rvmsudo这个东西(这个东西真是个好东西)。
$ rvmsudo passenger-install-nginx-module
然后会让你选择是下载 Nginx 源码⾃动编译安装,还是⾃⼰选择 Nginx 源码位置。
选择 Nginx ⼿动安装的可以添加别的编译参数,⽅便⾃定义编译 Nginx。
然后⼀路下载安装。默认的安装位置为/opt/nginx.
然后看看 f,都给你配置好了,只需要加上 root 位置(yourapp/public)就可以了。当我第⼀次安装完成了,就惊呼: "这也太爽了!"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论