为现有应用程序启动RoR服务器会出错

时间:2011-02-04 17:57:31

标签: ruby-on-rails yaml

我刚刚完成了第一次RoR设置,创建一个新的应用程序运行正常。但是当我想运行rails服务器时,我收到以下错误:

C:/Ruby192/lib/ruby/gems/1.9.1/gems/delayed_job-2.1.3/lib/delayed/yaml_ext.rb:30:在'remove_method'中:方法'to_yaml'未在Class中定义( NameError)

我在app目录中运行了“bundle install”并安装了所有必需的文件(但是有一些问题,但是我排除了gemfile中存在问题的gems),最后一个bundle install表示我已成功安装了所有文件需要的包。

我迷路了,我在互联网上找不到类似的错误。你能救我吗?

编辑:我忘了提到我的新应用程序没有问题。它正在运行一个现有的(我没有构建,但对其他人工作正常)错误与之相关。这是该应用程序的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 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

从命令行尝试此操作:irb -rubygems -r delayed_job然后从捆绑的目录bundle-exec irb -rubygems -r delayed_job开始,这将显示您的系统宝石与捆绑设置之间是否存在差异 - 您可能会在一个目录中看到错误或两者都试图运行IRB。

如果使用bundle-exec但是没有使用系统宝石时出错,那么这是一个捆绑器问题。如果没有,你确定该应用程序设计为在Ruby 1.9下运行吗?在需要DJ的时候看起来似乎没有to_yaml,这意味着它可能需要某处require "yaml"