2009-08-10 45 views
0

請問如何解決這個問題。我已經安裝了護欄上完美作業邊緣與2.3.3應用和嘗試啓動服務器我已經升級到1.8.7我已經得到了之後(紅寶石1.8.6)關於osx和寶石問題的邊緣導軌問題

$ ruby script/server 
=> Booting Mongrel 
=> Rails 3.0.pre application starting on http://0.0.0.0:3000 
/Library/Ruby/Site/1.8/rubygems.rb:270:in `activate': You have a nil 
object when you didn't expect it! (NoMethodError) 
You might have expected an instance of Array. 
The error occurred while evaluating nil.map 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:35:in 
`require' 
.......................... 

$ ruby script/server 
./script/../config/../vendor/rails/railties/lib/rails/ 
vendor_gem_source_index.rb:1:in `require': no such file to load -- 
rubygems (LoadError) 
     from ./script/../config/../vendor/rails/railties/lib/rails/ 
vendor_gem_source_index.rb:1 
     from ./script/../config/../vendor/rails/railties/lib/rails/ 
gem_dependency.rb:1:in `require' 
     from ./script/../config/../vendor/rails/railties/lib/rails/ 
gem_dependency.rb:1 
     from ./script/../config/../vendor/rails/railties/lib/initializer.rb: 
6:in `require' 
     from ./script/../config/../vendor/rails/railties/lib/initializer.rb:6 
     from ./script/../config/boot.rb:45:in `require' 
     from ./script/../config/boot.rb:45:in `load_initializer' 
     from ./script/../config/boot.rb:38:in `run' 
     from ./script/../config/boot.rb:11:in `boot!' 
     from ./script/../config/boot.rb:110 
     from script/server:2:in `require' 
     from script/server:2 

有什麼想法?

回答

0

您是否檢查過您的RubyGems版本,它應該> 1.3.1?

如果是,請嘗試重新安裝。

最近很多人似乎都有同樣的問題。它似乎適用於那些已經使用MacPorts重新安裝了ruby,rubygems安裝的人。

+0

嗨, 寶石1.3.5,重新安裝 - 相同的結果:(從rubygems更新寶石更新 - 系統 – 2009-08-10 08:10:27

0

聽起來好像沒有爲新版本的Ruby安裝寶石,或者您的路徑設置需要更新。

http://rubygems.org/read/chapter/19#page98

  • 檢查正在運行的Ruby的安裝是安裝的RubyGems同一個。在unix系統上,哪個命令(或類型命令)將幫助解決這個問題。

  • 確認當前正在運行的Ruby安裝確實已安裝了RubyGems庫。您應該在Ruby安裝的site_ruby/1.8目錄中找到「rubygems.rb」文件。

這些mixup在安裝Ruby的新實例後很容易發生,但是舊實例會在PATH列表中出現新的實例。

你是如何安裝新版本的Ruby,並且PATH環境變量被正確調整的(echo $PATH)?

推測當你運行which gemwhich ruby時,他們指向新的1.8.7位置? ruby -vgem -v將證實這一點。