如何在没有 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”,并且列表仅显示 ruby1.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的主要内容,如果未能解决你的问题,请参考以下文章