【问题标题】:Receiving syntax error message when trying to start application server for first Rails application after configuration [noob]在配置后尝试为第一个 Rails 应用程序启动应用程序服务器时收到语法错误消息 [noob]
【发布时间】:2014-07-30 18:33:18
【问题描述】:

当我在终端(Mac,运行最新版本的优胜美地)中输入 $ rails server 时,会弹出以下消息。我很迷茫,其他主题建议更改我项目的配置文件夹中的文本,但是我尝试过的方法没有奏效,我猜是因为这些主题有点过时了。

我正在从 Learn Ruby on Rails 的书中学习,试图让这个 MailChimp 应用程序正常工作,完成到第 13 章没有任何大问题。任何帮助表示赞赏。

=> Booting WEBrick
=> Rails 4.1.1 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/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/psych.rb:370:in `parse':     (<unknown>): found character that cannot start any token while scanning for the next token     at line 14 column 1 (Psych::SyntaxError)
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/psych.rb:370:in `parse_stream'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/psych.rb:318:in `parse'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/psych.rb:245:in `load'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/application.rb:313:in `secrets'
from /Users/dengel29/workspace/learn-rails/config/environments/development.rb:32:in `block in <top (required)>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/railtie.rb:210:in `instance_eval'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/railtie.rb:210:in `configure'
from /Users/dengel29/workspace/learn-rails/config/environments/development.rb:1:in `<top (required)>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/engine.rb:594:in `block (2 levels) in <class:Engine>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/engine.rb:593:in `each'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/engine.rb:593:in `block in <class:Engine>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:30:in `instance_exec'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:30:in `run'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:418:in `block (2 levels) in each_strongly_connected_component_from'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:417:in `block in each_strongly_connected_component_from'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:44:in `each'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:44:in `tsort_each_child'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:411:in `call'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:411:in `each_strongly_connected_component_from'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `each'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `call'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
from /Users/dengel29/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/initializable.rb:54:in `run_initializers'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/application.rb:288:in `initialize!'
from /Users/dengel29/workspace/learn-rails/config/environment.rb:5:in `<top (required)>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /Users/dengel29/workspace/learn-rails/config.ru:3:in `block in <main>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
from /Users/dengel29/workspace/learn-rails/config.ru:in `new'
from /Users/dengel29/workspace/learn-rails/config.ru:in `<main>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/server.rb:50:in `app'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/server.rb:130:in `log_to_stdout'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/server.rb:67:in `start'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:81:in `block in server'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `tap'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `server'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
from /Users/dengel29/workspace/learn-rails/bin/rails:8:in `require'
from /Users/dengel29/workspace/learn-rails/bin/rails:8:in `<top (required)>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /Users/dengel29/.rvm/gems/ruby-2.1.1/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /Users/dengel29/workspace/learn-rails/bin/spring:16:in `require'
from /Users/dengel29/workspace/learn-rails/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'

【问题讨论】:

  • YAML 文件中有语法错误,可能是 secrets.yml
  • config/environments/development.rb:32 中有什么内容?
  • @MichalSzyndel 我不知道,我不相信我修改了那个文件。我是从教科书上做的,并且一直在遵循指示。试图把代码放在这里,但它太长了。我应该寻找任何危险信号吗?
  • @FrederickCheung 我现在就看看,谢谢,如果解决了我会告诉你的。
  • 只显示第 32 行,或者如果它是块的一部分,则显示整个块。顺便说一句,我很惊讶每个做 Hartl 的人都会报告很长的配置文件,而我的配置文件通常很短。

标签: ruby-on-rails ruby learn-ruby-on-rails


【解决方案1】:

也许您的 ENV 变量设置不正确,或者您在其中一个变量中有不寻常的字符。注意 config/secrets.yml 文件中没有制表符或任何不寻常的字符。

我建议您将 config/secrets.yml 中的所有 ENV 值替换为硬编码字符串。不要使用文件中的私人凭据将文件签入 git。只需对其进行测试,看看您是否可以隔离问题。

【讨论】:

  • 我尝试对其进行硬编码,但我不断收到类似的错误。我检查以确保在我的 bash_profile 文件中正确输入了所有内容(一个位于我的工作区,另一个位于我的主目录中,我想我创建了两个,不确定我需要哪个)。我正在寻找制表符(它们有和号,对吗?)和其他错误,但我真的很难克服这一点。查看 bash_profile、secrets、yml 和 config/environments/development 来解决,但没有发现任何与您在书中提供的代码不同的地方。寻找任何替代品
  • 我注意到您说您使用的是运行最新版本 Yosemite 的 Mac。我怀疑这是导致此问题的原因,但您现在应该使用 OS X Mavericks(当前为 10.9.4),因为 Yosemite 仍处于测试阶段。当您使用 Mac OS 的测试版时,很难为您提供帮助。
  • 当您将 config/secrets.yml 中的所有 ENV 值替换为硬编码字符串时,您的问题应该会消失。更改 config/secrets.yml 文件后,您可能需要输入$ bin/spring stop。检查 Rails 是否使用 $ bin/spring status 运行其缓存版本。
  • 重写了 secrets.yml 文件中的所有内容,现在我们开始了!谢谢你陪我!感谢您的所有帮助和编写教科书等等。希望我能坚持下去!
  • 很高兴您取得了进展。请检查复选标记以接受答案。欢迎使用 Stack Overflow。
猜你喜欢
  • 2013-07-05
  • 2021-12-13
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
  • 2016-12-11
  • 2015-02-14
  • 1970-01-01
相关资源
最近更新 更多