[Ruby新手教学] linux下的rvm环境
昨天说的主要是windows平台的开发环境,今天说说linux。
?
对于linuxer而言,ruby的世界无疑更加丰富的,这里可以很容易的使用不同的ruby虚拟机实现,事实上,甚至有人专门做了工具来管理不同的ruby虚拟机,让我们更加方便,这个工具的名字叫 rvm (ruby version manager),所以准备linux开发环境,建议从 rvm 开始:
?
?
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
?
?
执行完毕后,重新打开一个console,就可以执行 rvm 开头的命令了
?
?
$ rvm^trvm 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 listrvm 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.7Using /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"
?
剩下的就是如何使用,看你的了
$ irbReadline was unable to be required, if you need completion or history install readline then reinstall the ruby.You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries.$ rvm notes......# For Ruby (MRI & ree) you should install the following OS dependencies: ruby: /usr/bin/apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev
$ rvm uninstall ruby-1.9.2Removing /home/john/.rvm/rubies/ruby-1.9.2-p290...john@john-laptop:~$ rvm install ruby-1.9.2