安装、配置ruby

2014-08-24

Ruby 是…

一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性, 它不仅是一门编程语言,更是表达想法的一种简练方式。

安装ruby


我在linux mint 16下安装软件源默认的ruby,版本是1.8:

zsh >> ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]
zsh >> which ruby
/usr/bin/ruby

在Synaptic Package Manager中查看一番,最新的版本是1.9。而官方最新稳定版本已经是2.1.2了。如果要升级,有两个选择,一个是自己编译,另一个是使用rvm。在升级之前,先使用Synaptic Package Manager把之前安装的ruby彻底删除掉。下面介绍基于rvm的方法。

zsh >> curl -L get.rvm.io | bash -s stable

执行完成后,在~下多出了文件.bash_profile,内容如下:

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

补充一下,我的bash的配置都是写在~/.bashrc中的。

然后在.zshrc的最后加上:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
source ~/.bash_profile

列出现有的ruby版本:

zsh >> rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-head] # security released on head
[ruby-]1.9.3[-p547]
[ruby-]2.0.0-p451
[ruby-]2.0.0[-p481]
[ruby-]2.1.1
[ruby-]2.1[.2]
[ruby-]2.1-head
ruby-head

# GoRuby
goruby

# Topaz
topaz

# TheCodeShop - MRI experimental patches
tcs

# jamesgolick - All around gangster
jamesgolick

# Minimalistic ruby implementation - ISO 30170:2012
mruby[-head]

# JRuby
jruby-1.6.8
jruby[-1.7.13]
jruby-head

# Rubinius
rbx-1.3.3
rbx-2.0.0
rbx-2.1.1
rbx[-2.2.10]
rbx-head

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Kiji
kiji

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# Opal
opal

# IronRuby
ironruby[-1.1.3]
ironruby-head

我们安装[ruby-]1.9.1[-p431][ruby-]2.1[.2]

zsh >> rvm install 1.9.1
zsh >> rvm install 2.1

看一下当前使用的是哪个版本:

zsh >> ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

查看安装了哪些版本:

zsh >> rvm list

rvm rubies

 * ruby-1.9.1-p431 [ x86_64 ]
=> ruby-2.1.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

换成版本为1.9的ruby:

zsh >> rvm use ruby-1.9.1-p431
zsh >> ruby -v
ruby 1.9.1p431 (2011-02-18 revision 30908) [x86_64-linux]

也可以用下面的命令将1.9.1设置为默认的ruby:

zsh >> rvm use ruby-1.9.1-p431 --default

当打开一个新的终端,ruby将是默认的1.9.1版本。
要卸载的话,可以:

zsh >> rvm  remove  ruby-1.9.1-p431

交互式ruby


irb是一个类似ipython的工具。

GEM


查看当前gemdir:

zsh >> rvm gemdir
/home/letian/.rvm/gems/ruby-2.1.2

rvm gemdir
国外的源不稳定,推荐淘宝的镜像:

zsh >>  gem sources --remove https://rubygems.org/
zsh >>  gem sources -a https://ruby.taobao.org/
zsh >>  gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org

测试:

$ gem install dbi

IDE的选择


IDE的话,rubymine应是表现最好的。要找个轻量级的,推荐sublime text,有不错的代码提示功能,还可以直接使用快捷键Ctrl + B来运行程序。当然,还有vim和emacs。

我现在在用sublime text 3 编写ruby,由于使用rvm的缘故,Ctrl + B时找不到ruby,参考了Get Sublime Text 2 (or 3) to use your RVM ruby and bundle GemfileMake rvm and Sublime Text 2 play nice修正了该错误,方法如下:
建立文件~/.config/sublime-text-3/Packages/User/Ruby.sublime-build,内容如下:

{
  "cmd": [ "/home/letian/.rvm/bin/rvm-auto-ruby", "$file" ],
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "selector": "source.ruby"
}

。保存后,Ctrl + B就可以正常使用了。

( 完 )