如何在没有 RVM 的 Ubuntu 上安装 Ruby 2

Posted

技术标签:

【中文标题】如何在没有 RVM 的 Ubuntu 上安装 Ruby 2【英文标题】:How to install Ruby 2 on Ubuntu without RVM 【发布时间】:2013-08-31 16:27:02 【问题描述】:

我想安装 ruby​​ 2.0 使用

sudo apt-get install ruby2.0

但是ruby2.0没有可用的包

我想像 ruby​​ 1.9.1 一样使用 apt-get install 安装它

有什么建议吗?

【问题讨论】:

Ubuntu 12.04 AFAIK 没有 Ruby 2 包。您必须自己构建它,然后使用 checkinstall 安装它。 【参考方案1】:

在没有 RVM 的情况下在 ubuntu 上安装 ruby​​ 的更好方法是在终端中使用 rbenv 安装它,如下所示:

$ sudo apt-get update

使用 apt-get 安装 rbenv 和 Ruby 依赖项:

$ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

现在按如下方式运行这些命令:

$ cd
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ exec $SHELL
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
$ exec $SHELL

安装 ruby​​ 的时间:

$ rbenv install 2.3.3

哪个是最新和稳定的版本

$ rbenv global 2.3.3

查看版本

$ ruby -v

要禁用本地文档,因为此过程可能很长:

$ echo "gem: --no-document" > ~/.gemrc

安装 bundler gem,管理你的应用依赖:

$ gem install bundler

【讨论】:

这篇文章的标题是“如何在没有 RVM 的情况下在 Ubuntu 上安装 Ruby 2”。注意标题中的“WITHOUT RVM”。【参考方案2】:

我特别喜欢 ruby​​-install,可以在这里找到:https://github.com/postmodern/ruby-install

它将安装ruby(任何版本)、JRuby等,除此之外还有许多其他功能。

【讨论】:

【参考方案3】:
sudo apt-get -y 更新
sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
光盘 /tmp
wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p451.tar.gz
tar -xvzf ruby​​-2.0.0-p451.tar.gz
cd ruby​​-2.0.0-p451/
./configure --prefix=/usr/local
制作
须藤制作安装

从这里How do I install ruby 2.0.0 correctly on Ubuntu 12.04?

更新

对于 ruby​​ 2.1.5

sudo apt-get -y 更新 sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev 光盘 /tmp wget http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz tar -xvzf ruby​​-2.1.5.tar.gz cd ruby​​-2.1.5/ ./configure --prefix=/usr/local 制作 须藤使安装

如果您仍然看到较旧的 ruby​​,请检查您的符号链接 ls -la /usr/bin/ruby来自赫克托

【讨论】:

(可选)运行make check 来检查编译后的Ruby 解释器是否运行良好。如果您看到消息“检查成功”,则您的 ruby​​ 可以正常工作 我的 Ruby 现在是版本 2,但 irb 仍然是 1.9.3。我该如何解决? 安装过程运行良好,除了我必须以 sudo 运行的最后一个命令。此外,我仍然将 ruby​​ 视为 v 1.9.3。如何切换到 ruby​​ 2? @RandallFlagg 输入which ruby,您将获得某个位置的路径(例如/usr/bin/ruby),此路径通常是指向实际Ruby 可执行文件的符号链接。键入ls -la /usr/bin/ruby,您可能会看到它被符号链接到ruby1.9.x。如果是这种情况,请更新符号链接以指向新位置。 对于 Ubuntu 14.04.1 (x86_64) 上的 Ruby 2.2.x 的重要提示。您还必须在编译之前安装libffi-dev。看看这个github.com/sstephenson/ruby-build/issues/690【参考方案4】:
# Adds Ruby 2.2 to Ubuntu 14.04
sudo apt-add-repository ppa:brightbox/ruby-ng
# Adds Ruby v1.9/2.0/2.1/2.2 to Ubuntu 14.04/15.04
# sudo add-apt-repository ppa:brightbox/ruby-ng-experimental

sudo apt-get update
sudo apt-get install ruby2.2 ruby2.2-dev

# http://***.com/a/1892889/2126990
# priority ruby: https://gist.github.com/brodock/7693207
sudo update-alternatives --remove ruby /usr/bin/ruby2.2
sudo update-alternatives --remove irb /usr/bin/irb2.2
sudo update-alternatives --remove gem /usr/bin/gem2.2

sudo update-alternatives \
    --install /usr/bin/ruby ruby /usr/bin/ruby2.2 50 \
    --slave /usr/bin/irb irb /usr/bin/irb2.2 \
    --slave /usr/bin/rake rake /usr/bin/rake2.2 \
    --slave /usr/bin/gem gem /usr/bin/gem2.2 \
    --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
    --slave /usr/bin/testrb testrb /usr/bin/testrb2.2 \
    --slave /usr/bin/erb erb /usr/bin/erb2.2 \
    --slave /usr/bin/ri ri /usr/bin/ri2.2

update-alternatives --config ruby
update-alternatives --display ruby

$ irb
irb(main):001:0> RUBY_VERSION
=> "2.2.0"

$ ruby --version
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux-gnu]

【讨论】:

我的 Ruby 现在是版本 2,但 irb 仍然是 1.9.3。我该如何解决? 似乎可以跳过 update-alternatives 部分。我在apt-get install 之后得到irb(main):001:0> RUBY_VERSION => "2.1.2"【参考方案5】:

自从回答了这个问题后,我在这里找到了一个新的替代方案:

https://www.brightbox.com/docs/ruby/ubuntu/

简而言之:

# For ubuntu >= 14.04 install software-properties-common
# instead of python-software-properties
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update

sudo apt-get -y install ruby2.2 ruby-switch
sudo ruby-switch --set ruby2.2

我必须说,根据我的测试,这比这里显示的替代方案要快,因为跳过了编译步骤。

【讨论】:

我可以确认这更快、更简单、更不容易出错。 目前还没有 Wily Werewolf 版本 :( 您可能需要 apt-get update && apt-get install software-properties-common 才能使用 apt-add-repository 效果很好,这个答案值得顶! 我得到“无效的解释器:ruby2.2”,并且列表仅显示 ruby​​1.9.1 作为选项。【参考方案6】:
sudo apt-add-repository ppa:brightbox/ruby-ng-experimental &&
sudo apt-get update &&
sudo apt-get install -y ruby2.0 ruby2.0-dev ruby2.0-doc

简单易用^ㅡ^

【讨论】:

在终端which ruby 上键入时会输出什么? 这个接缝安装 Ruby 1.9 和 Ruby 2,默认安装 1.9。如何将 Ruby 2.0 设为默认? 你有一个错误,它 "apt-add-repository" no add-apt @Ba7a7chy 不是。 apt-add-repository 是 Ubuntu 11.04 中引入的 add-apt-repository 的符号链接。

以上是关于如何在没有 RVM 的 Ubuntu 上安装 Ruby 2的主要内容,如果未能解决你的问题,请参考以下文章

无法在 ubuntu 12.04 上安装 rvm

在 Ubuntu 18.04 上安装 RVM 时出错

通过 RVM 在 Ubuntu、Ruby 1.9.2 上安装使用本机扩展的 gem 时出错

rvm,ubuntu 11.10 gem 阻止服务器启动

安装RVM时现有宝石会发生什么?

如何卸载 RVM? [复制]