Ubuntu
Rails:缺少寶石 roxml
我正在嘗試在 Ubuntu 機器上設置 Rails 應用程序,但該應用程序總是失敗並出現錯誤:
Missing these required gems: roxml
gem已安裝,並出現在
gem list
. 該應用程序需要許多其他gem,我安裝了所有這些gem,沒有任何問題,但由於某種原因,它無法辨識roxml 存在。我嘗試清除我的整個 ruby/rails/gem 設置並使用 rvm 重新開始,但是在完成了整個過程,安裝了所有必需的 gem(包括 roxml)之後,我再次遇到了同樣的錯誤。
完整的錯誤資訊是:
Missing these required gems: roxml You're running: ruby 1.8.7.334 at /home/tim/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby rubygems 1.6.2 at /home/tim/.rvm/gems/ree-1.8.7-2011.03, /home/tim/.rvm/gems/ree-1.8.7-2011.03@global
(注意:我現在正在使用帶有 rvm 的 ruby 企業版,但我在使用 ruby 1.8.7 和 rubygems 之前的 rvm 之前遇到了同樣的問題,它們都是從 Ubuntu 儲存庫安裝的。)
我有相同的應用程序在另一個具有相同版本的所有內容的 Ubuntu 機器上執行,所以在這台機器上的某個地方出現了一些問題,但我不確定在哪裡看。任何幫助表示讚賞!
我可以通過在條件中包裝一些 active_support 負載來解決這個問題:
在:
/home/tim/.rvm/gems/ree-1.8.7-2011.03/lib/ruby/gems/1.8/gems/roxml-3.1.6
將第一個 active_support 部分更改為:require 'active_support' if Gem.loaded_specs['activesupport'].version >= Gem::Version.new('3') require 'active_support/inflector/inflections' require 'active_support/core_ext/object/duplicable' require 'active_support/core_ext/module/delegation' require 'active_support/core_ext/array/extract_options' require 'active_support/core_ext/hash' require 'active_support/core_ext/string/starts_ends_with' end
我會檢查兩件事。第一個是將 roxml 安裝到 RVM 中,而不是作為通用系統上的 gem?您可以通過執行檢查
/home/$user/.rvm/bin/rvm gem list
另一個問題是,
gem list
在 RVM 中,將列出所有已安裝 Ruby 版本的 gem,而不僅僅是預設或活動的 Ruby。確保您已將 roxml 實際安裝到您正在使用的 Ruby 中。