【问题标题】:How to install Ruby 2 on Ubuntu without RVM如何在没有 RVM 的 Ubuntu 上安装 Ruby 2
【发布时间】: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 安装它。

标签: ruby ubuntu-12.04 apt-get ruby-2.0


【解决方案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://stackoverflow.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 的符号链接。
    猜你喜欢
    • 2012-06-20
    • 1970-01-01
    • 2013-07-15
    • 2012-02-22
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    相关资源
    最近更新 更多