2011-02-04 109 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"

相关问题