如何在Ubuntu 12.04上正确安装Ruby 2.0.0?

79

我已成功安装了rvm,但当我运行以下命令时

sudo apt-get update
或者:
rvm install 2.0.0

我有以下错误:

W: Failed to fetch http://ppa.launchpad.net/cheleb/blender-svn/ubuntu/dists/precise/main/source/Sources  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/cheleb/blender-svn/ubuntu/dists/precise/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/cheleb/blender-svn/ubuntu/dists/precise/main/binary-i386/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/ferramroberto/oneiric/ubuntu/dists/precise/main/source/Sources  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/ferramroberto/oneiric/ubuntu/dists/precise/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/ferramroberto/oneiric/ubuntu/dists/precise/main/binary-i386/Packages  404  Not Found

我该怎么修复这些错误?


7
这个问题明显属于社区定义的范围内:“程序员常用的软件工具”,请重新开放。 - Andrew Prock
2
最好迁移到askubuntu.com。 - Claudiu
8个回答

192

请按照以下步骤进行

sudo apt-get -y update
sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
cd /tmp
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p481.tar.gz
tar -xvzf ruby-2.0.0-p481.tar.gz
cd ruby-2.0.0-p481/
./configure --prefix=/usr/local
make
sudo make install

@PravinMishra 当您在终端上键入 which ruby 时,会输出什么? - Anton Dozortsev
Ruby安装路径- "/home/ubuntu/.rvm/rubies/ruby-2.0.0-p195/bin/ruby"。这是我的rvm。 - Pravin Mishra
6
最新的2.0源代码:http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p451.tar.gz 或者最新的2.1:http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz - Whatcould
2
在按照那些步骤后,我仍然停留在1.8.7版本。 - svassr
3
最新稳定源代码的链接始终可以在https://www.ruby-lang.org/en/downloads/找到。 - Silveri
显示剩余6条评论

56

使用rvm安装稳定版Ruby:

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

或者,如果您已经安装了RVM,请获取稳定版本:

rvm get stable

安装Ruby并使用特定版本的Ruby(记得使用登录Shell)

/bin/bash --login
rvm install 2.0.0
rvm use 2.0.0
rvm rubygems latest
ruby --version

官方RVM网站上找到。

编辑: 如@prem所指出的,如果出现公钥错误,请先运行此命令,然后按照上述步骤进行操作。

gpg --keyserver hkp:// keys.gnupg.net --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3

使用rbenv安装ruby:

安装必要的依赖项:

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

安装 rbenv

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

安装Ruby:

rbenv install -v 2.0.0

我按照一些步骤进行操作,但是它一直失败,然后我运行了 rvm get 命令,再次执行这些步骤,结果成功了。 - Guru
@Guru编辑了答案,将rvm升级到稳定版本。 - gmuraleekrishna
4
如果你在公钥问题上遇到困难,请运行以下命令:gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3,然后按照上述步骤操作。 - iamprem
我已经完成了下载并且它运行得很好。在我的电脑重新启动后,当我输入命令“ruby”和“rvm use 2.0.0”时,出现了一个臭名昭著的消息“RVM不是一个函数”。这里有解决方案:rvm installation not working: “RVM is not a function” - Mincong Huang

32

根据Ubuntu的travis-cli安装说明,可以使用Brightbox Ruby NG(NextGeneration) ppa:

$ sudo apt-get install python-software-properties
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.1 ruby-switch
$ sudo ruby-switch --set ruby2.1

2
这对我的Ubuntu 14有效,我还要补充:$ sudo apt-get install ruby2.1-dev例如,如果您想安装Jekyll,则需要这个程序包,因为它依赖于RedCloth。但如果头文件(如ruby.h)缺失,则会在安装时报错。 - Gianluca Casati
1
需要更新第一行:sudo apt-get install software-properties-common - Matt Darby
3
我的机器上运行正常 :) 在 Ubuntu Trusty 和 Vagrant 上测试过。如果使用 2.2dev 版本,你需要执行:apt-get install ruby2.2 ruby2.2-dev ruby-switchruby-switch --set ruby2.2 - ColCh
安装完成后,我尝试安装Jekyll,但是出现了以下错误:“mkmf.rb在/usr/lib/ruby/include/ruby.h中找不到Ruby的头文件”。 - ghanbari
@ghanbari,你可能需要头文件,它们没有与发行版一起打包(只有编译软件的机器需要),尝试安装 ruby2.1-dev 如果存在的话,你要找到一个以主包名命名并加上 -dev 后缀的包。 - ThorSummoner

7

3
安装Ruby的简单方法是使用ruby-install。当我从头开始编译Ruby时,遇到了编译错误,但是ruby-install没有遇到这些问题。
编辑:过去我曾经遇到过rvm的问题,并且感觉我应该积极反对它。不过这只是我的个人意见。我在使用ruby-install时通常会搭配rbenv,效果还不错。

2

你启用了一些在你的Ubuntu版本中不可用的ppa源。请在你的/etc/apt/sources.list文件中注释掉它们,然后运行sudo apt-get update命令,问题就会解决。


1

我将@PravinMishra的源代码放入Gist中,现在您只需使用这一行代码即可:

wget -O - https://git.io/vvkI4 | bash

注意:不要盲目相信我的Gist,下载文件并在运行之前仔细查看!


1

使用 rbenv

第一步是安装 Ruby 的一些依赖项。

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

使用 rbenv 进行安装是一个简单的两步过程。首先安装 rbenv,然后再安装 ruby-build
cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.0.0
rbenv global 2.0.0
ruby -v

在gorails.com上的原始帖子


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接