Ruby

rvm ruby install 設置路徑失敗

  • February 15, 2014

我以前從未使用過 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 安裝 ruby​​gems

錯誤:執行錯誤 ‘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 methodmap’ for Gem::Specification:Class (NoMethodError) from /usr/ share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems.rb:1108:in load_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:in require' 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 文章中的說明進行操作。

引用自:https://serverfault.com/questions/575527