rvm ruby install 設置路徑失敗
我以前從未使用過 Ruby,所以這個和周圍的術語對我來說是新的;我只進行安裝,所以我有一個執行特定應用程序的基礎。
我需要 Ruby 1.9.3,據我了解,我應該使用 RVM,因為它會使版本衝突變得不那麼複雜(我使用的是 Ubuntu 12.04 LTS,並且似乎已經有 1.8 和 1.9.1)。
問題是我仍然遇到版本衝突,請問我做錯了什麼?
詳情如下:
在香草 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) from /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),我會得到一個不同的錯誤,暗示捆綁器正在使用 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。(寶石::安裝錯誤)
請問我做錯了什麼?
我可以提供的唯一其他重要資訊是輸出,
rvm info
如您所見,我的路徑為空且“二進制”不正確。系統:
系統: uname: “Linux ubuntu 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 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: " => not installed"
rvm:版本:“Wayne E. Seguin 的 rvm 1.6.9 (wayneeseguin@gmail.com) [ 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
顯然,Ubuntu 附帶的 RVM 版本已損壞。我將其刪除並按照此 SO 文章中的說明進行操作。