我正處於Ruby on Rails編碼過程中,在最近一個小時內運行了幾個rails生成方法,突然一個新的生成命令拋出錯誤消息。當我嘗試通過rake運行我的測試時出現類似的錯誤。然後在命令行中輸入「rails」。然後對於「寶石」命令相同的錯誤。Rails/Gem命令突然拋出錯誤
所以我想,不知何故,我打破了我的「rubygems」寶石文件?這是令人擔憂的,因爲我在盧西丁編碼,並且坦白地說,遠不及它!
任何人都可以幫助解釋可能發生了什麼,以及最好的解決方案可能是什麼?現在,我會嘗試重新安裝Ruby,但這是一個昂貴的解決方法,我想避免多次執行。
錯誤堆棧跟蹤如下所示:
C:\Users\Ben>rails
C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:127:in `load_gems_in':
private method `load' called for Gem::Specification:Class (NoMethodError)
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/deprecate.rb:38:in `skip_during'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:126:in `load_gems_in'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:125:in `each'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:125:in `load_gems_in'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:122:in `reverse_each'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:122:in `load_gems_in'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:321:in `refresh!'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:97:in `initialize'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:1051:in `new'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:1051:in `source_index'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:243:in `activate_dep'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:236:in `activate'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:1307:in `gem'
from C:/dev/lang/Ruby187/bin/rails:18
我的寶石文件(以上項目)是:
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3'
gem "jquery-rails"
雖然在所有命令行實例出現錯誤。
[編輯]在這個階段,我已經完全重新安裝紅寶石和鐵軌,問題已經消失。儘管如此,我仍然保留舊的安裝目錄,以防萬一我們能夠解決這個問題的底部,或者萬一它再次發生!
[第二編輯]新的安裝,機器重啓後,創業板再次啓動失敗,並且是的RubyMine說,它不能找到任何寶石(甚至RubyGems的):
C:\Users\Ben>gem
C:/dev/lang/Ruby187/lib/ruby/1.8/optparse.rb:1433:in `private': undefined method `search' for class `OptionParser' (NameError)
from C:/dev/lang/Ruby187/lib/ruby/1.8/optparse.rb:1433
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/command.rb:7
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:7
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:7
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from C:/dev/lang/Ruby187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from C:/dev/lang/Ruby187/bin/gem:9
也許是的RubyMine擰安裝?還是Windows 7?我的核心開發語言永遠不會出現問題 - 非常令人沮喪!
軌和寶石命令在其他項目環境正常工作?你能否在另一個目錄中創建新的rails項目?將您的Gemfile內容添加到問題文本。 – crsde 2011-05-02 06:58:33
rails和gem命令在所有環境中都失敗(通過Rubymine和命令行調用)。因爲所有的命令都會拋出一個如上所述的錯誤,所以不能做任何與rails相關的操作。 – Phantomwhale 2011-05-02 07:53:53