久しぶりの投稿です。宜しくお願いします。
別にサボっていたわけではないんです。ただずっと一つの問題に立ち向かっていて、ようやく解決の糸口を掴んだので記事を書くことにしました。(まだ解決はしてない)
どんな問題かというと、題名にある通り、「herokuにデプロイできない」という内容です。
実際に行ったもは、以下です。
git push heroku master
エラーは以下です。
remote: Compilation failed:
remote: error Command "webpack" not found.
これはつまり「webpackがありませんよ」ということのようだったので、存在を確かめるべく、以下を実行。
npx webpack -v
すると、
webpack: 5.73.0
webpack-cli: 4.10.0
webpack-dev-server 4.9.2
なんとしっかり存在している。。。ここで一生頭を悩ませていました。
調べていると、npmで管理されているpackage.jsonに問題があるようでした。
例えば、yarn コマンドを実行すると、以下エラーが出ました。
../../package.json: No license field
最初は、license 指定がされていないせいでこのエラーが出ているんだ、と思いました。
実際にファイルを確認してみると、
{
"name": "hello_app",
**"license": "UNLICENSED",**
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"turbolinks": "^5.2.0"
}
ちゃんとある。。。これでもずっと頭を悩ませました。
ふと、「../../package.json」これをクリックできることに気が付き、中を見てみると、
{
"dependencies": {
"node-cleanup": "^2.1.2",
"tmp": "^0.0.33"
}
}
内容が違う。。。ということに気が付きました。つまり、このディレクトリで認識しているファイルと、
自分が使いたいファイルが違う、ということに気が付きました。
確かによくみると、ディレクトリの構成がおかしい、、、全く気がつかなったです。
ただ、これをどうやって自分が使いたいディレクトリにするのかわからず調査中、という状況です。
今日は溜まった分長くなりましたが、解決策がわかる方がいたら教えてください。。。