前提・実現したいこと
いつもお世話になっております。
現在SNSのようなアプリケーションを作成しており、
一度本番環境にデプロイをしたいと思い、S3にバケットを作成、デプロイ先にアクセスみたところ下記のようなエラーが起きました。
エラーログを読むと原因は「yalファイルにタブを使っている事」らしく、後述しますが、目視はもちろん
https://jsonformatter.org/yaml-formatter
このようなサイトを幾つか使用し試行錯誤をしましたが、結果は変わりませんでした。
発生している問題・エラーメッセージ
デプロイ後にアクセス先に表示されたメッセージ
Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail
heroku logs --tailを試してみたところ
/app/vendor/bundle/ruby/2.7.0/gems/activestorage-6.0.3.4/lib/active_storage/engine.rb:113:in `rescue in block (2 levels) in <class:Engine>': YAML syntax error occurred while parsing /app/config/storage.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): did not find expected key while parsing a block mapping at line 1 column 1 (RuntimeError)
(<unknown>): did not find expected key while parsing a block mapping at line 1 column 1 (Psych::SyntaxError)
heroku run rails cを試してみたところ
curred while parsing /app/config/storage.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): did not find expected key while parsing a block mapping at line 1 column 1 (RuntimeError)
このようなメッセージになっており、ymlファイルに何か問題があるのではないかと仮説を立てました。
該当のソースコード
storage.yml test: service: Disk root: <%= Rails.root.join("tmp/storage") %> local: service: Disk root: <%= Rails.root.join("storage") %> amazon: service: S3 access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %> secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %> region: ap-northeast-1 bucket: rank-top-32010
databese.yml default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: socket: /tmp/mysql.sock development: <<: *default database: rank_top_development test: <<: *default database: rank_top_test production: <<: *default database: rank_top_production username: rank_top password: <%= ENV['RANK_TOP_DATABASE_PASSWORD'] %>
試したこと
heroku run rails cのメッセージを翻訳したところ
空白が影響がある。と書いてあったので、その部分を注視し修正しました。
また過去にデプロイした物を参照し、順番が入れ替わっていた箇所があったので過去の物と同じように修正
結果変わりませんでした。
gem "aws-sdk-s3", require: false の記述があるのかを確認しました。
初学者なので間違っているかも知れませんが、
1行目に問題があるのようなメッセージであるため、ymlファイル以前に問題を起こし、メッセージに現れたのがこのようなケースという場合はあるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/22 05:40 編集
2020/12/22 06:13
2020/12/22 06:22
2020/12/22 06:28
2020/12/22 06:33
2020/12/22 09:06
2020/12/22 10:51