无法在Ubuntu 13.04上使用RVM安装Ruby on Rails

8

我正在尝试在我的Ubuntu机器上安装RVM。

我使用curl获取了RVM,但是一些RVM命令(如install、requirements)会抛出apt-get错误:

There has been error while updating 'apt-get', please give it some time and try again later.
For 404 errors check your sources configured in:
    /etc/apt/sources.list
    /etc/apt/sources.list.d/*.list

type rvm | head -1 返回

rvm is a function
-bash: type: write error: Broken pipe

哪个宝石
/usr/bin/gem

我已经勾选了“将命令作为登录Shell运行”的选项。
从这个tutorial中按照以下步骤进行:
sudo apt-get install curl
curl -L get.rvm.io | bash -s stable --auto
. ~/.bash_profile
rvm requirements - doesn't work properly

我也查看了官方RVM文档,但似乎非常相似。
有任何想法吗?
更新:我成功了。我禁用了所有第三方ppa网址,然后安装顺利进行。

你执行了哪些步骤,请在此处放置。 - Arup Rakshit
我按照这个教程操作。我在rvm requirements这一步卡住了。 - Sebastian
在你的问题中提到了链接。 - Arup Rakshit
得到了完全相同的问题 :( - Tarun
我还不得不禁用第三方PPA。我通过将 /etc/apt/sources.list.d 下的所有文件暂时移动到一个子文件夹中来实现这一点。然后我运行了curl命令并将它们移回原位。 - icfantv
显示剩余2条评论
9个回答

19

在安装rvm之前,您的系统需要一些重要的软件包。请在终端中运行以下命令:

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev \
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake \
libtool bison subversion nodejs

然后使用以下命令安装 rvm:

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

现在,您需要在.bashrc中添加设置,以便为脚本添加rvm到PATH。运行以下命令:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc

打开一个新终端并测试rvm。


抱歉..我只是觉得这个答案虽然解决了OP的问题,但并没有通过解释每个步骤解决了什么问题来创造一个更好的世界。简而言之,我希望也能添加原因。 - Gaurav Agarwal
是的,这个可以工作,但应该有一个额外的标志来为您处理依赖项,就像大多数其他应用程序一样。 - JohnMerlino

1

运行

sudo apt-get update

sudo apt-get install build-essential

然后再尝试一次。


在终端中运行此命令,然后再试一次: "source ~/.rvm/scripts/rvm" - Sachin Singh
@SachinSingh 如果您能发布一步一步的安装过程,说明您自己的安装情况,那就太好了。 - Arup Rakshit
1
我建议通过 RVM 网站安装 RVM。安装完 RVM 后,在 .bashrc 文件的末尾添加以下行: [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"然后关闭所有终端并重新打开,再次尝试。 - Sachin Singh

1
尝试禁用出现在404的存储库,使用sudo apt-get update命令或查看rvm日志。事实是,当您安装rvm时,它会尝试更新您的软件包列表,如果出现404错误,则需要放弃更新。请注意保留html标签。

1
在我的情况下,我通过以下方式解决了错误:

rvmsudo rvm install 1.9.3

rvm --default 1.9.3

rvmsudo rvm remove 1.9.3

rvm install 1.9.3

来源


1

大家好!

我找到了解决方案。实际上,错误是因为我们安装所需的信息在软件和更新定义的服务器上不可用。我将它从我的本地“印度服务器”(在我的情况下)更改为“主服务器”。

现在它对我来说完美地运行着 :)


1

我在安装时遇到了相同的问题,然后我完整地阅读了终端在安装完成后留下的详细信息。

尝试使用source /usr/local/rvm/scripts/rvm

这样做后,函数type rvm | head -1返回rvm is a function


0

这个问题最常见的症状是(如seth2810所暗示的)apt-get update命令返回非零退出代码,而rvm requirements需要它。您应该自己运行此命令(使用sudo),并检查是否有任何问题。

如果输出中有404错误,请检查坏URL的软件包源是否仍然正确/当前。您可以使用sudo apt-get install software-properties-common更轻松地删除软件包源,然后对于每个失败的URL,使用sudo add-apt-repository --remove {URL_OF_PROBLEM_PACKAGE_SOURCE}

如果有提示存在“未满足的依赖项”的软件包,请尝试sudo apt-get -f install。此命令尝试通过获取缺少的软件包来修复不完整的安装,并且大多数情况下都有效。否则...到这一步,您可能已经有一个更具体的错误需要搜索了!


0

对于那些对Linux一无所知或者是Linux新手(就像我一样),以下是解决此问题的步骤(上面给出的解释对我来说不够清晰:))。

  1. 进入软件包管理器,切换到设置、首选项选项卡
  2. 在打开的窗口中,您会看到其他软件选项卡或类似的内容,其中包含指向服务器的链接。在我的情况下,其中一个链接(rvm生成的错误日志中提到)导致了错误并且无法使用(404错误)。我只需将其取消选中即可。
  3. 仅在关闭软件包管理器时运行rmv dependencies,否则您将收到错误提示,说明当前有某些内容被锁定。

现在一切都已成功安装!:)


0

\curl -L https://get.rvm.io | bash -s stable --ruby。 将此粘贴到您的终端窗口中。我用过这个,它对我有效。用于安装RVM和Ruby。 \curl -L https://get.rvm.io | bash -s stable --rails。 使用这些来安装带有Ruby on Rails的RVM。


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