2013-10-14 6 views
24

私はラップトップでRuby on Railsを約1ヶ月間使っていましたが、このインスタンスでサーバーを実行したいとき数時間前にうまくいきました)今私はこのメッセージを受け取ります。どのようにしてサーバーを再度稼働させることができますか?「次のトークンをスキャン中にトークンを開始できない文字が見つかりました」

C:\Sites\LaunchPage>rails s 
    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): 
    found character that cannot start any token while scanning for the next token at line 17 column 17 (Psych::SyntaxError) 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:203:in `parse_stream' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:151:in `parse' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/psych.rb:127:in `load' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/figaro-0.6.3/lib/figaro.rb:21:in `raw' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/figaro-0.6.3/lib/figaro.rb:17:in `env' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/figaro-0.6.3/lib/figaro/railtie.rb:7:in `block in <class:Railtie>' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/lazy_load_hooks.rb:34:in `call' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/lazy_load_hooks.rb:34:in `execute_hook' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/lazy_load_hooks.rb:42:in `each' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:67:in `inherited' 
    from C:/Sites/LaunchPage/config/application.rb:13:in `<module:LaunchPage>' 
    from C:/Sites/LaunchPage/config/application.rb:12:in `<top (required)>' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:53:in `require' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:53:in `block in <top (required)>' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:50:in `tap' 
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
+0

スタートエラーメッセージ ' '解析/psych.rb:203:inあたりのように、ライン203上psych.rbを見て任意のトークンを17行17列目(Psych :: SyntaxError) ' – dax

+2

で' C:/Sites/LaunchPage/config/application.rb:13'の次のトークンをスキャンしていますか? – sevenseacat

+1

興味深いことに、フォルダは 'ruby 1.9.3'と呼ばれますが、実際には' 1.9.1'で実行されています。互換性の問題があります。 – Magnuss

答えて

17

このエラーは、おそらくconfig/application.ymlに構文エラーがあることを私に示すことになるFigaro gem、から発信されます。このファイルをダブルチェックして、不正なYAML構文がないか確認してください。

+1

ありがとうございます - サーバが動作するように、ダブルクリックしてデフォルトのapplication.ymlファイルをロードしました! – asaignment

+0

@asaignment:これがあなたの質問に答えた場合は、同意してください。 –

+0

ありがとうございました。 –

64

YAMLはインデント用にTAB文字(\t)を受け入れません。あなたのconfig/application.ymlのものを探し、2スペースに置き換えてください。

またはライアンにより示唆されるように、他の構文エラー、があるかもしれません。しかし、私はこの1に賭けている)私はあなたと同じ問題を持っている

+2

私にとってはまさにそれでした。アップホーセットで判断すると、私は最初ではありません。 – 0xC0000022L

5

。私はそのタブ文字(\ t)の問題は確信しています。 2桁のスペースで置き換えてください。

2

YAMLを含む重要な設定ファイルをすべてチェックする必要があります。私はrake db:seedにしようとすると同じエラーが発生し、config/database.ymlのコメントブロックにTAB文字があることが判明しました。

よくわからない場合は、オンラインのYAMLパーサー(http://yaml-online-parser.appspot.com/)を使用してください。 YAMLファイルのいずれかが構文エラー「YAMLでノータブ」、多分database.yaml YAMLファイルを取得する際

+0

私のタブはconfig/secrets.ymlにありました – rtfminc

1

は、このエラーが発生しapplication.yamlなど

2

あなたの具体的な例ではないかもしれないが、スタックオーバーフローのタイトル...

en.ymlまたは翻訳YMLまたは任意のYAML

を二重引用符で囲む必要はありません。このエラーで働く人々のために、それが原因であることができるので、私はこの記事にあることになりました文字列補間

points: 
    other: %{points} points 

訂正:( ):起動することはできません見つかった文字

points: 
    other: "%{points} points" 
+0

yamlのデータを "値"の前後に引用符を付けずにheredoc形式で保存しておけば、それも文句を言うでしょう。エラーを避けるために、値を引用符で囲みます。 –

関連する問題