2011-02-04 107 views
1

我剛剛完成了RoR的第一次安裝,並且創建了一個新的應用程序正常工作。但是當我想運行rails服務器時,出現以下錯誤:爲現有應用啓動RoR服務器會出現錯誤

C:/Ruby192/lib/ruby/gems/1.9.1/gems/delayed_job-2.1.3/lib/delayed/yaml_ext.rb: 30:在'remove_method':方法'to_yaml'沒有在類中定義(NameError)

我在應用程序目錄中運行「bundle install」並安裝了所有必需的文件(但有一些問題,但我排除了寶石在gemfile中有問題)和最後一個bundle安裝說我已經成功安裝了所有需要的包。

我迷路了,在互聯網上找不到類似的錯誤。你可以幫我嗎?

編輯:我忘了提及我沒有新應用程序的問題。它正在運行一個現有的(我沒有構建,但適用於其他人)錯誤與之相關。下面是該應用的Gemfile中:

source 'http://rubygems.org' 

gem 'rails', '3.0.3' 

gem 'mysql' 

gem "haml", ">= 3.0.0" 
gem "haml-rails" 
gem 'simple_form' 
gem 'delayed_job' 
#gem 'auto_crawlers' 
gem 'will_paginate', '~> 3.0.beta' 

group :test do 
    gem 'factory_girl_rails' 
    gem 'mocha' 
end 
group :development do 
    #gem "nifty-generators", "0.4.3", :git => "git://github.com/JonasNielsen/nifty-generators.git" 
    gem 'fastercsv' 

end 
gem "mocha", :group => :test 

你認爲錯誤是因爲我離開了兩種寶石以「#」?這些都是在第一引發的問題,我不認爲我需要他們來測試應用一些細微的變化(一些看法,我有修改)

+2

看起來你已經包括delayed_job的爲你的寶石之一,它似乎是給你的問題。你可以發佈你的gemfile嗎? – Nuby 2011-02-04 18:04:20

+0

您的問題可能是您需要捆綁其他寶石。由於他們有問題,我打賭你需要先獲得這些寶石。 – DJTripleThreat 2011-02-04 18:05:28

回答

0

在命令行試試這個:irb -rubygems -r delayed_job,然後從捆綁目錄bundle-exec irb -rubygems -r delayed_job這將顯示您的系統寶石和捆綁安裝之間是否存在差異 - 您可能會在一次或兩次嘗試運行IRB時看到錯誤。

如果使用bundle-exec時發生錯誤,但與您的系統寶石不同,那麼這是一個捆綁器問題。如果沒有,你確定這個應用程序的設計是在Ruby 1.9下運行嗎?看起來to_yaml在DJ需要的地方不可用,這意味着它可能需要某個地方的require "yaml"

相關問題