Rails服务器上的NoMethodError

时间:2014-05-10 05:36:54

标签: ruby-on-rails ruby ruby-on-rails-4

我试图启动Rails服务器,但是我收到以下错误并且服务器关闭了。我怀疑我错过了一个依赖,但我是一个Ruby noob,所以我很可能是错的。

 => Booting WEBrick
 => Rails 4.1.0 application starting in development on `http://0.0.0.0:3000`
 => Run `rails server -h` for more startup options
 => Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
 => Ctrl-C to shutdown server 
    Exiting 
    /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/server.rb:133:in
 `log_to_stdout': undefined method `formatter' for nil:NilClass
 (NoMethodError)    from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/server.rb:67:in
 `start'    from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:81:in
 `block in server'  from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:76:in
 `tap'  from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:76:in
 `server'   from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:40:in
 `run_command!'     from
 /Users/darrin/inventory/vendor/ruby/2.1.0/gems/railties-4.1.0/lib/rails/commands.rb:17:in
 `<top (required)>'     from bin/rails:4:in `require'   from bin/rails:4:in
 `<main>'

更新:我没有&#34; execjs&#34;或&#34; therubyracer&#34;我的Gemfile中的宝石。这就是我所拥有的:

source 'https://rubygems.org'
ruby '2.1.1'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.1.0'

group :development do
  gem 'sqlite3', '1.3.8'
end

gem 'sass', '3.3.6'
gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
gem 'haml'
gem 'railties'
gem 'faraday', '~> 0.9.0'
gem 'annyang_rails'
gem 'savon', '~> 2.3.0'
gem 'httparty'
gem 'speechcloud', '~> 0.1.1'
gem 'json', '~> 1.8.1'
gem 'sinatra', '~> 1.4.5'
gem 'rack', '~> 1.4'
gem 'rack-protection', '~> 1.4'
gem 'permutation', '~> 0.1.8'
gem 'tilt', '~> 1.3'
gem 'bacon', '~> 1.2.0'
gem 'activesupport', '~> 4.1.0'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.17.1'
  gem 'rails_12factor', '0.0.2'
end

就启动Rails服务器而言,我只需输入Rails Server。没有其他的。

顺便说一句,如果你不能说,我对RoR很新。

2 个答案:

答案 0 :(得分:2)

log_to_stdout': undefined method 'formatter' for nil:NilClass (NoMethodError)

这是你的错误,正如评论中所指出的那样,它似乎是logger

的问题

我只能推测问题可能是依赖(可以发布你的Gemfile),还是你的环境(没有正确安装ruby或者其他东西)

您可以为我们发布Gemfile吗?

答案 1 :(得分:1)

所以,我终于想出了一个解决方案。感谢您让我走上正轨。我最终将问题追溯到我的config.ru文件。我改成了:

require ::File.expand_path('../config/environment',  __FILE__)
require './app'
run Sinatra::Application

这最终让Rails服务器启动并运行。