前提・実現したいこと
デプロイしたいというのが最終的な目的ですが、
- 現状のエラーをどうしたら解決できるのか
- 何故このエラーが起きているのか
を把握したいと思っています。
現在、herokuにgithubからpush自体はできているのですが、webページには以下の様に表示されています。
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でログを確認するのですが、文字の奔流に押し流されています。
現状、エントリーポイントに関して理解が浅いのが、私が問題を解決できない理由で、問題点を把握できていないのだと考えています。
発生している問題・エラーメッセージ
どこから問題があったのか理解していないので、詰まり始めた最初から記載いたします。
まずログは以下の様に表示され、問題がありそうなのは npm ERR! missing script: start
という一文にあるのかなと考えていますが、、
2020-07-19T02:44:42.000000+00:00 app[api]: Build succeeded 2020-07-19T02:44:56.126893+00:00 heroku[web.1]: Starting process with command `npm start` 2020-07-19T02:44:58.985426+00:00 app[web.1]: npm ERR! missing script: start 2020-07-19T02:44:59.010559+00:00 app[web.1]: 2020-07-19T02:44:59.011756+00:00 app[web.1]: npm ERR! A complete log of this run can be found in: 2020-07-19T02:44:59.012090+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2020-07-19T02_44_58_986Z-debug.log 2020-07-19T02:44:59.099353+00:00 heroku[web.1]: Process exited with status 1 2020-07-19T02:44:59.143423+00:00 heroku[web.1]: State changed from starting to crashed 2020-07-19T02:45:01.715572+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=ucs5.herokuapp.com request_id=5c17f944-d57f-4616-907a-5bb660904efa fwd="182.20.230.97" dyno= connect= service= status=503 bytes= protocol=https 2020-07-19T02:45:02.096137+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=ucs5.herokuapp.com request_id=05f1d2cc-2478-421b-a50e-e72b82af81b0 fwd="182.20.230.97" dyno= connect= service= status=503 bytes= protocol=https
このエラーを調べると以下のURLで同じQandAがあり、
https://stackoverflow.com/questions/34631300/error-when-deploying-app-to-heroku
これによるとHerokuにどこから始めるかを通知する必要があり、 package.jsonに、
"scripts": { "start": "node index.js" }
にこの記述が必要で、index.jsがエントリーポイントだよという内容でした。そのため以下の様なコードを打ち込んで
"scripts": { "start": "node ./javascript/channels/index.js" // index.jsが保存されているディレクトリ }
commit -> push -> git push herokuで実行しましたが、やはり開けず、ログには以下の様に表示されます。
Error: Cannot find module '/app/javascript/channels/index.js'
コードの書き方に問題があるのか、それとも他に問題があるのか、わからないのです。
デプロイ自体は成功していても、上記のエラーにより、描画されません。このエラーに該当する箇所にはしっかりファイルがあるのに認識はどうしてもされていない。
エントリーポイントに関して理解(?)していること
まず、字面の理解しかしていないです。
プログラムの実行を開始する場所 => サーバーサイドのリクエストが送られてきて、最初に実行されるプログラム
今回の場合は、トップページが表示されることですよね?
rootに設定した内容が反映される時に、viewを読み込む上で、モデルにアクセスするのにjsがまず実行される?
index.jsには以下の様に記述されており、最初に読み込まれるファイルということが示唆されている。
// Load all the channels within this directory and all subdirectories.
ので、全てのファイルを読むんだな、くらいのふんわりした理解。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。