【问题标题】:What’s wrong with my local Rails environment?我的本地 Rails 环境出了什么问题?
【发布时间】:2011-04-26 11:51:35
【问题描述】:

我在一整年前启动了一个 Rails 应用程序。这是一个 Rails 2.3 应用程序。

现在,其他人进行了远程更改(它在 Github 上,抱歉,但它是私有的)。我已经完成了

sudo gem update

也就是说,更新了我所有的 gem,包括 Rails(到 3 个)。

意识到这一点,我做到了

rake:freeze:edge RELEASE=2.3.8

或任何使此版本使用该版本的 rails 的东西,希望这是解决方案。

然而,到目前为止还没有这样的运气。

我在尝试启动服务器并尝试运行 script/console 时遇到错误(尽管它更多成功)。

请注意,这个确切的应用程序在 EngineYard 上运行良好。

服务器:

 $ script/server
 => Booting Mongrel
 => Rails 2.3.8 application starting on http://0.0.0.0:3000
 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 45, col 3: `' (ArgumentError)
  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:902:in `database_configuration'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:437:in `initialize_database'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:141:in `process'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
  from /Users/ajh/Sites/PROJECT_NAME/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
  from /Users/ajh/Sites/PROJECT_NAME/config/environment.rb:11
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
  from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/railties/lib/commands/server.rb:84
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
  from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
  from script/server:3

控制台:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in load':ArgumentError: syntax error on line 45, col 3:rai'

当我在控制台中尝试使用已定义的模型时:

@mm = MyModel.find(:all) NameError:未初始化的常量 MyModel 来自 /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:443:in load_missing_constant' from /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:80:inconst_missing' 来自 /Users/ajh/Sites/PROJECT_NAME/vendor/rails/activesupport/lib/active_support/dependencies.rb:92:in `const_missing' 来自 (irb):1

【问题讨论】:

  • 您可以发布完整的 database.yml 文件吗?
  • 乍一看,您的 yaml.rb 中似乎发生了一些事情。你能在 irb 中要求它并加载一个简单的 YAML 文件吗?
  • 谢谢,加勒特;我在我的 database.yml 中发现了一个流浪的 end 关键字和一些其他的可疑之处。删除它就可以了。非常感谢你们,以及所有看过的人!

标签: ruby-on-rails


【解决方案1】:

我刚遇到这个错误,问题是我在 database.yml 文件中使用了制表符而不是双空格。我想我会提到它,以防其他人有同样的麻烦。

【讨论】:

    【解决方案2】:

    我的 database.yml 有一个流浪的 end 关键字。清理该文件解决了我的问题。感谢 Garrett 为我指明了正确的方向!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2013-11-16
      • 1970-01-01
      • 2016-05-14
      • 2012-10-26
      相关资源
      最近更新 更多