rvm install:ruby安装错误

我想在我的Linux Mint 12上安装ruby。

我正在关注本教程和本 教程 。

当我运行rvm install 1.9.3我看到了这个错误:

 Installing Ruby from source to: /usr/share/ruby-rvm/rubies/ruby-1.9.3, this may take a while depending on your cpu(s)... ruby-1.9.3 - #fetching ruby-1.9.3 - #extracting ruby-1.9.3- to /usr/share/ruby-rvm/src/ruby-1.9.3 ERROR: Error running 'bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_4428', please read /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log ERROR: There has been an error while trying to extract the source. Halting the installation. ERROR: There has been an error fetching the ruby interpreter. Halting the installation. 

怎么解决?

编辑:@ ka8725

bunzip2已安装。 当我运行cat /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log

我知道了

 [2012-02-25 01:11:55] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_32604 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [2012-02-25 01:12:16] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_32740 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [2012-02-25 01:13:50] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_383 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [2012-02-25 01:13:52] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_474 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [2012-02-25 01:13:58] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_568 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors [2012-02-25 01:18:57] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_4428 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors 

另一个编辑@EVERYONE 🙂

这里发生了什么:

rvm requirements输出unrecognized error etc 。 但是rvm notes会告诉我需要安装的东西。 但是,当我安装这些东西,rvm将被删除,所以我必须重新安装哈哈! :)一次,两次,十次,永远:)这会发生什么

这些是我需要的包裹

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

卸载并重新安装rvm

 bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 

对于后代,我会补充说错误的一部分

 Installing Ruby from source to: /usr/share/... 

是什么让我想到了rvm的破坏安装,正如我所说,它通常完全包含在~/.rvm目录中。

我解决了我的问题:

rvm get head rvm reloadrvm install 1.9.3

按照其中一条评论中的建议进行rvm更新,就如何解决问题给了我一些很好的错误。 我按照错误中的建议清除了apt-get ruby​​-rvm并安装了curl。 工作就像一个魅力。 查看文件名,rvm的apt-get版本正在抓取它看起来因为某些原因缺少该版本的最后一部分。 它应该是ruby-1.9.3-p327.tar.bz2而不是ruby-1.9.3-.tar.bz2。

以下是我在rvm更新后所做的以及错误建议的内容:

  sudo apt-get --purge remove ruby-rvm sudo rm -rf /usr/share/ruby-rvm /etc/rvmrc /etc/profile.d/rvm.sh open new terminal and validate environment is clean from old rvm settings: env | GREP_OPTIONS= \grep rvm install RVM: curl -L https://get.rvm.io | bash -s stable fix some more screwed up stuff from apt-get ruby-gem make ~/.bash_profile look like this(it loads rvm as a function in bash): [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" update RVM: rvm update rvm reload install ruby rvm install 1.9.3 rvm use 1.9.3 --default install current rubygems rvm rubygems current install rails gem install rails 

完成!

问题解决了,以下是你想知道的方式:

正如sm所说,我卸载了所有内容,然后我作为普通用户打开了另一个终端会话并运行:

 bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 

然后我运行source /home/my-desktop-username/.rvm/scripts/rvm 作为普通用户NOT ROOT

然后我作为普通用户运行rvm requirements 然后我复制需求并关闭会话,打开会话并使用sudo安装需求

然后我关闭会话并打开一个正常的用户会话并运行rvm install ruby-1.9.3-p125如果你以root身份运行这个命令,它会说rvm没有安装,并建议你使用sudo apt-get install rvm安装它sudo apt-get install rvm 不要那样做!

所以基本上我有两个问题,我遵循的教程没有说我应该运行

source /home/my-desktop-username/.rvm/scripts/rvm并没有说我不应该以root身份运行rvmsm告诉我。 感谢大家,尤其是sm

不要相信博主,Youtube用户或论坛。 只信任STACKOVERFLOW用户!

你试过这个答案安装Ruby 1.9.3与RVM,但命令行不显示ruby -v ?

它接缝你使用“apt-get broken rvm”确保你按照上面的答案。

我和bunzip2有同样的问题。

〜/ .rvm / log / ruby​​-1.9.3-p125 / extract.log上的尾部说:

 bunzip2: (stdin) is not a bzip2 file. tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors 

事实certificate,下载的文件是rvm网站的HTML主页,而不是存档本身。

因此,如果像我一样以前所有的解决方案都没有成功。 检查存档的文件类型:

 $ file ruby-1.9.3-p125.tar.bz2 ruby-1.9.3-p125.tar.bz2: HTML document, UTF-8 Unicode text, with very long lines 

如果你得到这样的东西,只需删除存档并尝试再次安装。

如果你cat /usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2你会看到

404 Not Found

404 Not Found


nginx/1.2.1

所以,rvm不知道在哪里可以找到ruby-1.9.3(似乎路径在’3-.tar’周围被破坏了)

并且,1.9.1与1.9.3的“兼容性”是Ubuntu中的一个(不那么有趣)的笑话。

我的修复是:

rvm package install openssl

rvm install ruby-1.9.2 --with-openssl-dir=/usr/share/ruby-rvm/usr

因为1.9.2匹配所有我的gem依赖(例如nokogiri)

cat /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log

在我看来你没有安装bunzip2 。 你应该安装它