我之前从未使用过 Ruby,所以这个和周围的术语对我来说都是新的;我只是进行安装,这样我才有一个运行特定应用程序的基础。
我需要 Ruby 1.9.3,据我所知,我应该使用 RVM,因为它可以使版本冲突变得不那么复杂(我正在使用 Ubuntu 12.04 LTS,似乎已经有 1.8 和 1.9.1)。
问题是我仍然遇到版本冲突,请问我做错了什么?
详情如下:
在 vanilla ubuntu 12.04 LTS 上我安装了 rvm 和 bundler
sudo apt-get install ruby-bundler ruby-rvm
我的项目根目录中有一个 .rvmrc 文件,其中包含:
rvm use 1.9.3-p484@project-root --create
我已经执行
sudo rvm reload
然后我告诉 rvm 安装一个特定的 ruby
sudo rvm install ruby-1.9.3-p484
然后它就吐了
为 /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/bin/ruby 安装 rubygems
错误:运行“GEM_PATH="/usr/share/ruby-rvm/gems/ruby-1.9.3-p484:/usr/share/ruby- rvm/gems/ruby-1.9.3-p484@global:/usr/share/ruby-rvm/gems/ruby-1.9.3-p484:/usr/share/ruby- rvm/gems/ruby-1.9.3-p484@global" GEM_HOME="/usr/share/ruby-rvm/gems/ruby-1.9.3-p484" "/usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/bin/ruby" "/usr/share/ruby-rvm/src/rubygems-1.6.2/setup.rb"' 时出错,请阅读/usr/share/ruby-rvm/log/ruby-1.9.3-p484/rubygems.install.lo
日志包含以下内容:
/usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems.rb:483:in
find_files': undefined method
map' for Gem::Specification:Class (NoMethodError) 来自 /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems.rb:1108:inload_plugins' from /var/cache/ruby-rvm/src/rubygems-1.6.2/lib/rubygems/gem_runner.rb:84:in
' 来自 /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in
require' 来自 /usr/share/ruby-rvm/src/rubygems-1.6.2/setup.rb:25:
看起来与 v1.9.1 有些冲突?
如果我继续运行sudo bundle install
(我有一个包含一些条目的 Gemfile),我会收到一个不同的错误,暗示 bundler 正在使用 ruby 1.8!
安装 nokogiri (1.6.1) /usr/lib/ruby/vendor_ruby/1.8/rubygems/installer.rb:388:in `ensure_required_ruby_version_met': nokogiri 需要 Ruby 版本 >= 1.9.2。(Gem::InstallError)
请问我做错了什么?
我可以提供的唯一其他显著信息是输出,rvm info
正如您所见,我的路径为空,并且“二进制”不正确。
系统:
系统:uname:“Linux ubuntu 3.8.0-29-generic #42~precise1-Ubuntu SMP 星期三 8 月 14 日 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux” bash:“/bin/bash => GNU bash,版本 4.2.25(1)-release (i686-pc-linux-gnu)”zsh:“=> 未安装”
rvm:版本:“rvm 1.6.9,作者 Wayne E. Seguin([电子邮件保护])[https://rvm.beginrescueend.com/]“
家园:宝石:“未设置”红宝石:“未设置”
二进制文件:ruby:“/usr/bin/ruby” irb:“/usr/bin/irb” gem:“/usr/bin/gem” rake:“”
环境:PATH:“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/share/ruby-rvm/bin:/usr/share/ruby-rvm/bin”GEM_HOME:“”GEM_PATH:“”MY_RUBY_HOME:“”IRBRC:“”RUBYOPT:“”gemset:“”
/usr/bin/ruby -v
返回 1.8.7
答案1
显然 Ubuntu 自带的 RVM 版本有问题。我删除了它,然后按照说明操作在这篇文章中。