鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > ruby > >

Ruby on Rails,在ubuntu中安装及使用rvm管理ruby版本

来源:互联网 作者:佚名 时间:2012-11-15 13:23
RVM的主要作用是方便的管理系统中的多个ruby版本而不至于混乱。 我们来看看如何安装RVM,我使用的ubuntu12.04LTS。 准备工作 后面需要使用curl,用dpkg -s curl命令检查一下系统中有没有安装 abbuggy@abbuggy-ubuntu:~$ dpkg -s curlPackage: curlStatus: in

1352626822_4774

RVM的主要作用是方便的管理系统中的多个ruby版本而不至于混乱。

我们来看看如何安装RVM,我使用的ubuntu12.04LTS。

准备工作

后面需要使用curl,用dpkg -s curl命令检查一下系统中有没有安装

abbuggy@abbuggy-ubuntu:~$ dpkg -s curl Package: curl Status: install ok installed Priority: optional Section: web Installed-Size: 338 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: i386 Version: 7.22.0-3ubuntu4 Replaces: curl-ssl Provides: curl-ssl Depends: libc6 (>= 2.7), libcurl3 (>= 7.16.2-1), zlib1g (>= 1:1.1.4) Description: Get a file from an HTTP, HTTPS or FTP server curl is a client to get files from servers using any of the supported protocols. The command is designed to work without user interaction or any kind of interactivity. . curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, file transfer resume and more. Homepage: Original-Maintainer: Ramakrishnan Muthukrishnan <rkrishnan@debian.org>

上面的会先说明我是已经安装过了的,如果没有安装应该是类似如下的回显。

abbuggy@abbuggy-ubuntu:~$ dpkg -s curl 系统没有安装软件包 curl,因而没有相关的信息。 使用 dpkg --info (= dpkg-deb --info) 来检测打包好的文件, 还可以通过 dpkg --contents (= dpkg-deb --contents) 来列出它们的内容。

那么安装就行了sudo apt-get install curl

安装rvm

用rvm官方推荐的方式安装curl -L get.rvm.io | bash -s stable

回显提示我们,RVM被安装在$HOME/.vrm中;并且需要在终端中加载脚本$HOME/.rvm/scripts/rvm

abbuggy@abbuggy-ubuntu:~$ curl -L get.rvm.io | bash -s stable % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 185 100 185 0 0 144 0 0:00:01 0:00:01 --:--:-- 906 100 10235 100 10235 0 0 3929 0 0:00:02 0:00:02 --:--:-- 10888 Downloading RVM from wayneeseguin branch stable % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 131 100 131 0 0 62 0 0:00:02 0:00:02 --:--:-- 143 100 1124k 100 1124k 0 0 127k 0 0:00:08 0:00:08 --:--:-- 269k Installing RVM to /home/abbuggy/.rvm/ RVM PATH line found in /home/abbuggy/.bashrc /home/abbuggy/.zshrc. RVM sourcing line found in /home/abbuggy/.bash_profile /home/abbuggy/.zprofile. # RVM: Shell scripts enabling management of multiple ruby environments. # RTFM: https://rvm.io/ # HELP: ?channels=rvm (#rvm on irc.freenode.net) # Cheatsheet: # Screencast: # In case of any issues read output of 'rvm requirements' and/or 'rvm notes' Installation of RVM in /home/abbuggy/.rvm/ is almost complete: * To start using RVM you need to run `source /home/abbuggy/.rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows. # abbuggy, # # Thank you for using RVM! # I sincerely hope that RVM helps to make your life easier and more enjoyable!!! # # ~Wayne

应该请把这句话加在$HOME/.bash_profile文件中,以便在开启一个终端会话时候加载RVM

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

如果对shell变成不熟悉,这里简单解释一下这是干什么用的。

[[condition]],两层的方括号中间括着条件返回条件是不是真。-s是判断给定的文件是否存在的命令。这样一来,不就是在[[ -s "$HOME/.vrm/scripts/vrm"]]判断刚才安装的RVM是否存在吗?

接下来的&&符号是“短路的与”,当前面的条件是真的时候,执行后面的语句,返回这两个语句是不是全是真。在这里,利用了“短路”特性。也就是说当RVM已经安装的话,执行后面的. "$HOME/.rvm/scripts/rvm"命令。这条命令和source "$HOME/.rvm/scripts/rvm"是一个意思:加载rvm的启动脚本。

#符号后面是注释信息。

使用RVM

刚才我们通过修改.bash_profile增加的内容需要重新打开终端窗口时加载。我们有两个选择,网站空间,一个是关闭当前的终端窗口重新打开,另一个是在当前窗口执行一遍. "$HOME/.rvm/scripts/rvm"。

察看RVM的版本

abbuggy@abbuggy-ubuntu:~$ rvm -v rvm 1.16.20 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

察看当前RVM中已经安装的ruby版本,现在其实还没有。

abbuggy@abbuggy-ubuntu:~$ rvm list rvm rubies # No rvm rubies installed yet. Try 'rvm help install'.

察看RVM可供安装的ruby版本

abbuggy@abbuggy-ubuntu:~$ rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7-p370 [ruby-]1.8.7[-p371] [ruby-]1.9.1[-p431] [ruby-]1.9.2-p180 [ruby-]1.9.2-p290 [ruby-]1.9.2-p318 [ruby-]1.9.2[-p320] [ruby-]1.9.2-head [ruby-]1.9.3-preview1 [ruby-]1.9.3-rc1 [ruby-]1.9.3-p0 [ruby-]1.9.3-p125 [ruby-]1.9.3-p194 [ruby-]1.9.3-p286 [ruby-]1.9.3-[p327] [ruby-]1.9.3-head [ruby-]2.0.0-preview1 ruby-head

安装ruby 1.9.3-head,香港服务器,在不发生歧义的情况下方括号内的东西可以不必敲。

abbuggy@abbuggy-ubuntu:~$ rvm install 1.9.3-head

之后等呀等呀自动安装了1.8.7和1.9.3

abbuggy@abbuggy-ubuntu:~$ rvm list rvm rubies ruby-1.8.7-p371 [ i686 ] ruby-1.9.3-head [ i686 ] # Default ruby not set. Try 'rvm alias create default <ruby>'.

选择1.9.3作为当前的使用版本,并且设置为缺省

abbuggy@abbuggy-ubuntu:~$ rvm use ruby-1.9.3-head --default Using /home/abbuggy/.rvm/gems/ruby-1.9.3-head

设置好之后察看ruby版本

abbuggy@abbuggy-ubuntu:~$ ruby -v ruby 1.9.3p327 (2012-11-10) [i686-linux]

察看ruby的路径,网站空间,就是RVM帮我们安装的

abbuggy@abbuggy-ubuntu:~$ which ruby /home/abbuggy/.rvm/rubies/ruby-1.9.3-head/bin/ruby

短路RVM

刚才是用RVM进行ruby版本管理,当然了通过其他渠道例如apt-get也可以安装ruby,可以对RVM设置短路以便使用系统默认的ruby版本。

网友评论
<