如何在Ubuntu 14.04上安装Ruby 2.1.4


119

我不知道如何在Ubuntu上安装最新的Ruby。

首先,我使用以下命令安装了默认的Ruby 1.9.3

sudo apt-get install ruby

然后我尝试使用安装2.0版本

sudo apt-get install ruby2.0

我的Ruby版本仍然是“红宝石1.9.3p484(2013-11-22修订版43786)[x86_64-linux])”

我该怎么办?


这个答案对安装ruby版本管理器非常有帮助,它使您可以在家庭环境中随时签出并使用所需的任何版本,而无需sudo
Jeff Puckett

Answers:


130

首先,安装必备库:

sudo apt-get update
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

然后安装用于安装Ruby的rbenv:

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

rbenv install 2.3.1
rbenv global 2.3.1
ruby -v

然后(可选)告诉Rubygems不要安装本地文档:

echo "gem: --no-ri --no-rdoc" > ~/.gemrc

积分:https : //gorails.com/setup/ubuntu/14.10

警告!!! 出现问题Gnome-Shell。请参阅下面的评论。


值得注意的是,在安装ruby 2.2.0之前,用户可能还必须运行以下命令sudo apt-get install libffi-dev
ThaDick

警告!将这些行添加到.bash *文件中可能会使Gnome-Shell无法加载。在删除这些行之前,我无法登录。
塞林2015年

谢谢,@ Cerin。添加了要发布的警告。您解决了这个问题吗?您如何添加路径?
dubadub

4
不,我从来没有真正解决过这个问题。我尝试安装rvm,但是显然安装程序(来自get.rvm.io)检测到Ubuntu并从字面上拒绝安装,重定向到SO问题,这又建议运行完全相同的安装程序...因此我决定完全卸载从我的系统中获取Ruby,然后将我所有的Ruby工具切换到Python等效项。
塞林2015年

gnome-shell问题与PATH变量的修改方式有关吗?我一直读到新路径应该附加到PATH,而不是前置。我还读过应该将环境变量添加到〜/ .profile或〜/ .bash_profile中,而不是〜/ .bashrc中。
japhyr

206

有一个PPA,其中包含适用于Ubuntu 12.04+的Ruby 2.x的最新版本:

$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.4

$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-gnu]

我该如何选择rubyruby2.3有关系吗?
njzk2

1
@ njzk2尝试sudo update-alternatives --config ruby并按照那里的说明进行操作。在没有官方Ubuntu红宝石软件包的全新安装中,PPA软件包将ruby别名配置为ruby2.3自动为我使用。
弗拉德·弗洛洛夫

尽管用这种方法容易得多,但是使用PPA并不是真正的“最佳”方法,PPA可以消失,通常没有像官方渠道这样仔细地组合在一起。PPA是一个人建立的存储库并自行运行。请小心一点。
约翰·亨特

38

最好是使用rvm(红宝石版本管理器)安装它。
在终端中运行以下命令:

sudo apt-get update
sudo apt-get install build-essential make curl
\curl -L https://get.rvm.io | bash -s stable
source ~/.bash_profile
rvm install ruby-2.1.4

然后检查已安装和正在使用的ruby版本:

rvm list
rvm use --default ruby-2.1.4

另外,您可以直接将ruby bin路径添加到PATH变量。Ruby安装在

$HOME/.rvm/rubies export PATH=$PATH:$HOME/.rvm/rubies/ruby-2.1.4/bin

12
通过网络传递任意代码是一个坏主意。这是展示令人反感的网站的“耻辱之墙”:curlpipesh.tumblr.com
labyrinth

1
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
布雷特

JECompton:最好与rvm的人们讨论一下,因为这是安装rvm的规范方法。
朗尼·艾弗斯

6

使用RVM(Ruby版本管理器)安装和管理任何Ruby版本。您可以在计算机上安装多个版本的Ruby,并且可以轻松选择所需的版本。

要将RVM类型安装到终端:

\curl -sSL https://get.rvm.io | bash -s stable

让它工作。之后,您将安装RVM和Ruby。

来源:RVM网站


1
要安装RVM,请遵循其安装页面上的指示。除了运行cURL之外,使用RVM还有很多其他内容,安装页面对此进行了介绍。在安装之前,应先阅读本手册,以熟悉安装过程,包括疑难解答步骤。
Tin Man

@theTinMan当然我完全同意你的看法。这就是为什么我将他们的页面添加为源代码,以便该线程的作者可以阅读更多有关它的原因。
BartoszŁęcki2014年

嗯,RVM的主页是一回事,但是如果人们阅读了整个安装页面,我们在这里遇到的大多数RVM问题都可以立即解决。
Tin Man

1
通过网络传递任意代码是一个坏主意。这是展示令人反感的网站的“耻辱之墙”:curlpipesh.tumblr.com
labyrinth

3

更新ubuntu:

 sudo apt-get update
 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

安装rvm,它管理ruby版本:

要安装rvm,请使用以下命令。

 \curl -sSL https://get.rvm.io | bash -s stable
 source ~/.bash_profile
 rvm install ruby-2.1.4

检查已安装和正在使用的ruby版本:

rvm list
rvm use --default ruby-2.1.4
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.