昨天说的主要是windows平台的开发环境,今天说说linux。
对于linuxer而言,ruby的世界无疑更加丰富的,这里可以很容易的使用不同的ruby虚拟机实现,事实上,甚至有人专门做了工具来管理不同的ruby虚拟机,让我们更加方便,这个工具的名字叫 rvm (ruby version manager),所以准备linux开发环境,建议从 rvm 开始:
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
这条命令来自官方网站,它实际上是从指定网址上下载一个脚本并执行,所以如果你的环境中没有 curl 或者遇到了墙,也可以手工下载,然后用bash执行
执行完毕后会看到一条提示,要求你将下面这句话放入 profile,这时照做就是了
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
执行完毕后,重新打开一个console,就可以执行 rvm 开头的命令了
$ rvm^t rvm rvm_error rvm-prompt rvmsudo rvm-auto-ruby rvm-exec rvm-restart rvm_warn rvm_debug rvm_log rvm-shell
安装和删除一个ruby vm可以用install, remove:
$ rvm install ruby-1.8.7 $ rvm remove ruby-1.9.2
这样,我们可以让多个ruby vm共存,例如在我的机器上,可以看到4个版本的ruby vm:
$ rvm list rvm rubies ruby-1.8.7-p334 [ x86_64 ] jruby-1.5.6 [ amd64-java ] jruby-1.6.1 [ linux-amd64-java ] => ruby-1.9.2-p180 [ x86_64 ]
如果需要使用其中一个,可以用 use 命令
$ which ruby /home/john/.rvm/rubies/ruby-1.9.2-p180/bin/ruby $ rvm use ruby-1.8.7 Using /home/john/.rvm/gems/ruby-1.8.7-p334 $ which ruby /home/john/.rvm/rubies/ruby-1.8.7-p334/bin/ruby
就这么简单,但是,对于一些ruby本身的扩展库,还是要考虑编译的问题,比如我们希望支持 readline 能力,可以这样:
$ rvm package install readline
#初次安装一个ruby vm $ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr
#对于已经安装的ruby vm $ cd ~/.rvm/src/ruby-1.8.7-p334 $ ruby extconf.rb --with-readline-dir="/home/john/.rvm/usr"
剩下的就是如何使用,看你的了