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 reload
和rvm 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身份运行rvm
, sm告诉我。 感谢大家,尤其是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
所以,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
。 你应该安装它