首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

[Ruby新手教学] linux上的rvm环境

2012-12-28 
[Ruby新手教学] linux下的rvm环境昨天说的主要是windows平台的开发环境,今天说说linux。?对于linuxer而言,r

[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


执行 apt-get ,然后重装 ruby
$ rvm uninstall ruby-1.9.2Removing /home/john/.rvm/rubies/ruby-1.9.2-p290...john@john-laptop:~$ rvm install ruby-1.9.2

热点排行