devDependenciesに書いてしまってて反省
毎週日曜あたりには更新しようと思っていたが、前回(10/2(日))は作業が最高潮に立て込んだので無理寄りの無理だった。 反省を兼ねて、とんでもなくしょーもないことで詰まったことを記録しておく。
作業の最後の最後の最後で、HerokuのProduction環境にデプロイしようとしたところ、次のようなエラーが出て、30分くらい立て込んだ。 おいおい、Staging環境ではあんなに元気に動いていたじゃあないか。どうしちまったんだ。すでに日曜夜21時を過ぎており、頭を抱えるハメになった。
remote: /tmp/build_569be6ef/node_modules/webpack-cli/bin/cli.js:93 remote: throw err; remote: ^ remote: remote: Error: Cannot find module 'vue-loader' remote: Require stack: remote: - /tmp/build_569be6ef/config/webpack/environment.js remote: - /tmp/build_569be6ef/config/webpack/production.js remote: - /tmp/build_569be6ef/node_modules/webpack-cli/bin/utils/convert-argv.js remote: - /tmp/build_569be6ef/node_modules/webpack-cli/bin/cli.js remote: - /tmp/build_569be6ef/node_modules/webpack/bin/webpack.js remote: at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15) remote: at Function.Module._load (node:internal/modules/cjs/loader:804:27) remote: at Module.require (node:internal/modules/cjs/loader:1028:19)
よくよく考えると、必要なパッケージを devDependencies に含めてしまっていたためだったという、それだけの話であった。 おのれのおろかさよ...。 (まだwebpacker使ってるのかというところは見逃してください...)
(package.json)
{ "dependencies": { "@rails/webpacker": "5.4.3", "vue": "^3.2.33", "webpack": "^4.46.0", "webpack-cli": "^3.3.12" }, "devDependencies": { "@vue/compiler-sfc": "^3.2.40", "axios": "^0.27.2", "vue-loader": "^17.0.0", "webpack-dev-server": "^3" } }
↓
$ yarn remove vue-loader $ yarn add vue-loader
という塩梅で
↓
{ "dependencies": { "@rails/webpacker": "5.4.3", "@vue/compiler-sfc": "^3.2.40", "axios": "^0.27.2", "vue": "^3.2.33", "vue-loader": "^17.0.0", "webpack": "^4.46.0", "webpack-cli": "^3.3.12" }, "devDependencies": { "webpack-dev-server": "^3" } }
無事デプロイできた。はぁーーーっ(クソデカため息) 自戒をこめて。