`
yukang116
  • 浏览: 23434 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

在ubuntu中安装及使用rvm管理ruby版本(转载)

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

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

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


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ dpkg -s curl 
02.Package: curl 
03.Status: install ok installed 
04.Priority: optional 
05.Section: web 
06.Installed-Size: 338 
07.Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
08.Architecture: i386 
09.Version: 7.22.0-3ubuntu4 
10.Replaces: curl-ssl 
11.Provides: curl-ssl 
12.Depends: libc6 (>= 2.7), libcurl3 (>= 7.16.2-1), zlib1g (>= 1:1.1.4) 
13.Description: Get a file from an HTTP, HTTPS or FTP server 
14. curl is a client to get files from servers using any of the supported 
15. protocols. The command is designed to work without user interaction 
16. or any kind of interactivity. 
17. . 
18. curl offers a busload of useful tricks like proxy support, user 
19. authentication, FTP upload, HTTP post, file transfer resume and more. 
20.Homepage: http://curl.haxx.se 
21.Original-Maintainer: Ramakrishnan Muthukrishnan <rkrishnan@debian.org> 
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: http://curl.haxx.se
Original-Maintainer: Ramakrishnan Muthukrishnan <rkrishnan@debian.org>

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


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ dpkg -s curl 
02.系统没有安装软件包 curl,因而没有相关的信息。 
03.使用 dpkg --info (= dpkg-deb --info) 来检测打包好的文件, 
04.还可以通过 dpkg --contents (= dpkg-deb --contents) 来列出它们的内容。 
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


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ curl -L get.rvm.io | bash -s stable 
02.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
03.                                 Dload  Upload   Total   Spent    Left  Speed 
04.100   185  100   185    0     0    144      0  0:00:01  0:00:01 --:--:--   906 
05.100 10235  100 10235    0     0   3929      0  0:00:02  0:00:02 --:--:-- 10888 
06.Downloading RVM from wayneeseguin branch stable 
07.  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
08.                                 Dload  Upload   Total   Spent    Left  Speed 
09.100   131  100   131    0     0     62      0  0:00:02  0:00:02 --:--:--   143 
10.100 1124k  100 1124k    0     0   127k      0  0:00:08  0:00:08 --:--:--  269k 
11. 
12.Installing RVM to /home/abbuggy/.rvm/ 
13.    RVM PATH line found in /home/abbuggy/.bashrc /home/abbuggy/.zshrc. 
14.    RVM sourcing line found in /home/abbuggy/.bash_profile /home/abbuggy/.zprofile. 
15. 
16.# RVM:  Shell scripts enabling management of multiple ruby environments. 
17.# RTFM: https://rvm.io/ 
18.# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net) 
19.# Cheatsheet: http://cheat.errtheblog.com/s/rvm/ 
20.# Screencast: http://screencasts.org/episodes/how-to-use-rvm 
21. 
22.# In case of any issues read output of 'rvm requirements' and/or 'rvm notes' 
23. 
24.Installation of RVM in /home/abbuggy/.rvm/ is almost complete: 
25. 
26.  * To start using RVM you need to run `source /home/abbuggy/.rvm/scripts/rvm` 
27.    in all your open shell windows, in rare cases you need to reopen all shell windows. 
28. 
29.# abbuggy, 
30.# 
31.#   Thank you for using RVM! 
32.#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!! 
33.# 
34.# ~Wayne 
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: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm

# 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


[plain] view plaincopyprint?
01.[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session. 
[[ -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的版本


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm -v 
02. 
03.rvm 1.16.20 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/] 
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 requirements命令,可以察看安装各版本时候的前提条件。其中这句是需要关注的。这是安装依赖的第三方包,没有这个安装不成功岂不是很悲剧?



[plain] view plaincopyprint?
01.Additional Dependencies: 
02.# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following: 
03.  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config 
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
这样一来,安装ruby的准备工作就完成了。察看当前RVM中已经安装的ruby版本,现在应该还没有。


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm list 
02. 
03.rvm rubies 
04. 
05.# No rvm rubies installed yet. Try 'rvm help install'. 
abbuggy@abbuggy-ubuntu:~$ rvm list

rvm rubies

# No rvm rubies installed yet. Try 'rvm help install'.

察看RVM可供安装的ruby版本


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm list known 
02.# MRI Rubies 
03.[ruby-]1.8.6[-p420] 
04.[ruby-]1.8.7-p370 
05.[ruby-]1.8.7[-p371] 
06.[ruby-]1.9.1[-p431] 
07.[ruby-]1.9.2-p180 
08.[ruby-]1.9.2-p290 
09.[ruby-]1.9.2-p318 
10.[ruby-]1.9.2[-p320] 
11.[ruby-]1.9.2-head 
12.[ruby-]1.9.3-preview1 
13.[ruby-]1.9.3-rc1 
14.[ruby-]1.9.3-p0 
15.[ruby-]1.9.3-p125 
16.[ruby-]1.9.3-p194 
17.[ruby-]1.9.3-p286 
18.[ruby-]1.9.3-[p327] 
19.[ruby-]1.9.3-head 
20.[ruby-]2.0.0-preview1 
21.ruby-head 
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,在不发生歧义的情况下方括号内的东西可以不必敲。


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm install 1.9.3-head 
abbuggy@abbuggy-ubuntu:~$ rvm install 1.9.3-head

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


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm list 
02. 
03.rvm rubies 
04. 
05.   ruby-1.8.7-p371 [ i686 ] 
06.   ruby-1.9.3-head [ i686 ] 
07. 
08.# Default ruby not set. Try 'rvm alias create default <ruby>'. 
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作为当前的使用版本,并且设置为缺省


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm use ruby-1.9.3-head --default 
02.Using /home/abbuggy/.rvm/gems/ruby-1.9.3-head 
abbuggy@abbuggy-ubuntu:~$ rvm use ruby-1.9.3-head --default
Using /home/abbuggy/.rvm/gems/ruby-1.9.3-head

设置好之后察看ruby版本


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ ruby -v 
02.ruby 1.9.3p327 (2012-11-10) [i686-linux] 
abbuggy@abbuggy-ubuntu:~$ ruby -v
ruby 1.9.3p327 (2012-11-10) [i686-linux]
察看ruby的路径,就是RVM帮我们安装的


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ which ruby 
02./home/abbuggy/.rvm/rubies/ruby-1.9.3-head/bin/ruby 
abbuggy@abbuggy-ubuntu:~$ which ruby
/home/abbuggy/.rvm/rubies/ruby-1.9.3-head/bin/ruby

短路RVM

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


[plain] view plaincopyprint?
01.abbuggy@abbuggy-ubuntu:~$ rvm use system 
02.Now using system ruby. 
03.abbuggy@abbuggy-ubuntu:~$ ruby -v 
04.ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] 
05.abbuggy@abbuggy-ubuntu:~$ which ruby 
06./usr/bin/ruby 
abbuggy@abbuggy-ubuntu:~$ rvm use system
Now using system ruby.
abbuggy@abbuggy-ubuntu:~$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
abbuggy@abbuggy-ubuntu:~$ which ruby
/usr/bin/ruby

卸载RVM

不想玩了,我要卸载。这个命令会移除$HOME/.rvm目录下面的所有东西即RVM管理的版本们。


[plain] view plaincopyprint?
01.rvm implode 
分享到:
评论

相关推荐

    rvm:Ruby环境管理器(RVM)

    如果您需要其他(较新)版本的RVM,请在安装基本版本的RVM之后检查以下“部分。 任何其他操作系统 确保已安装以下必需的软件包: curl gpg2 然后运行: \curl -sSL https://get.rvm.io | bash -s stable 其他...

    教你如何在ubuntu15.04安装 RVM

    rvm 的全称是 Ruby Version Manager ,是一款由 Wayne E. Seguin 开发的一款命令行工具。rvm 能够让你轻松的安装、管理 ruby 生产力环境,诸如不同版本的解释器和 gem 。

    ubuntu_rvm:适用于RVM的Ubuntu软件包

    rvm使用mixed-mode安装进行安装:可由系统上的所有用户使用,并且在用户的$ HOME中具有孤立的Ruby/宝石集(请参阅更多); rvm已安装到/usr/share/rvm (按照Debian / Ubuntu约定); Ubuntu PPA提供的自动更新;...

    阶段0-wsl2-env-ruby

    Ruby Environment Manager(RVM)是一种工具,可让您下载并安装Ruby的多个版本,这是我们在Flatiron学校教授的编程语言之一。 安装RVM是在Ubuntu操作系统上安装Ruby的第一步。 行动项目 使用“开始”菜单打开“ ...

    solos:Solos-Rails 6 Ruby 3

    独奏在Cloud 9上部署-AWS首先,在Cloud...安装postgresql和各种库sudo apt install postgresql libpq-dev redis-server redis-tools yarn在Cloud 9终端中使用此命令来启动PostgreSQL服务器curl -sS https://dl.yarnpkg.

    RVM配置ROR

    该文档可以自动帮你在ubuntu下配置ruby on rails 环境,使用ruby1.9.2 + rails 3.0.3 和ruby1.8.7 + rails2.3.5

    challengesplatform:挑战平台

    RVM 是 Ruby 版本管理器。 这样可以更轻松地跟踪您可能希望用于不同项目的 Ruby 版本。 要安装 RVM,您需要从 Internet 下载一些东西。 我们将使用 curl,它默认情况下未安装在我们的系统上。 要安装 curl 和 RVM,...

    ruby:sendchinatownlove.com的后端Rails API

    发送唐人街LoveAPI 设置 :wrench: Rubyx Rails 6x 对于ubuntu,请尝试使用... ... rvm install ruby​​-XXX如果没有rvm,请使用gem安装rvm: \curl -sSL https://get.rvm.io | bash -s stable --ruby

    rubytoolbox:为 Ruby 编程语言寻找积极维护和流行的开源软件库

    为 Ruby 编程语言寻找积极维护和流行的开源软件库 Ruby 工具箱是所有 Rubygems 的...安装当前项目 ruby​​ 版本,最好使用Ruby 版本管理器,如 chruby、rbenv 或 rvm 您还需要Bundler来安装项目的依赖项。 Node.js

    rvm:rvm食谱的开发存储库

    管理系统范围和每个用户的并管理已安装的Ruby。 定义了几种资源来完成这些任务。 要求 厨师 在12.5.1上进行了测试,但由于资源模型的更改,较旧版本的Chef可能无法正常工作。 欢迎您提交请求请求以添加此支持。 ...

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器.zip

    chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...

    IFPB-PRPIPG.github.io:开发和技术解决方案中心页面

    要求/安装[Debian / Ubuntu]环境RVM-Ruby版本管理器RubyBundler-管理项目宝石来自项目Gemfile-工程宝石RVM # Chave para segurar os Repositórios$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C...

    blog:OpenEnergyMonitor 博客

    OpenEnergyMonitor 博客 一个快速干净的响应式博客使用所有闪亮的新玩具:由 Jekyll 和 Oscalite 主题提供支持。... 解决方案使用 RVM(Ruby 版本管理器),安装: $ gpg --keyserver hkp://keys.gnupg

    demo:使用 Aviator gem 的演示应用程序

    Ruby 版本管理器是一个很好的工具,可以轻松管理您机器中的多个 Ruby 版本。 使用以下命令安装它: curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3 关闭终端并重新打开它以使 RVM 完全生效。 Ubuntu ...

    rspec-dev:RSpec开发环境

    如果您使用其他Ruby版本管理器(或根本不使用),那么重要的是您拥有一个沙盒式gem环境,该环境不需要您使用sudo来安装gem,并且没有安装rspec库。 邦德勒 依赖项管理需要Bundler。 首先安装: gem install ...

    vagrant-lamp:基本的 Vagrant LAMP 开发机

    Ruby via rvm(Ruby 版本管理器)-(可选) Mailcatcher -(仅当安装了 Ruby 时) ##Vagrant Configuration 有一些定义要为每个项目配置,比如 VAGRANT_MACHINE_NAME = "vagrant-machine-name" // 虚拟机中使用的...

    rightscale-cli:RightScale CLI 客户端

    推荐使用 rbenv 或 RVM,或者从 RubyGems.org 安装 gem: $ gem install rightscale-cliDebian/Ubuntu 如果您在当前安装了 Ruby 1.8 的 Debian 或 Ubuntu 版本上进行安装,请按照以下步骤进行升级。 删除 Ruby 1.8...

    legendary-news:Ruby on Rails教育博客

    此项目需要在ubuntu机器内已安装且可正常运行的滑轨上使用Ruby,才能执行以下步骤: 1-从[这里] [ ]安装用于ruby环境的RVM 2-安装滑轨5.2.4.4 ``` gem install rails -v 5.2.4.4 ``` 3-安装捆绑器 ``` gem ...

    RoR_julia_eg:通过 ZMQ 使用 Julia 链接的 Ruby on Rails Web 应用程序示例

    此示例展示了一种通过 ZMQ 将 Ruby on Rails Web 应用程序与 Julia 连接的方法。 在此之前,我没有使用... 要安装 Ruby on Rails,我只需使用 : curl -sSL https://get.rvm.io | bash -s stable --rails 我更喜欢使

Global site tag (gtag.js) - Google Analytics