😥 npmコマンドで様々なエラー
npm install
npm ci
npm run serve
npm run watch
npm run watch-poll
npm run build
npm run lint
などなど
🚀 1行で解決させる
一般的な解決策としてnode_modulesとpackage-lock.jsonを消してキャッシュをクリアにし、
再度npmをインストールしたあと、実行しなおすという手があります🤔
jsモジュールを全部消し、npmのキャッシュをクリアした上で再度モジュールを入れ直す
rm -rf node_modules && rm package-lock.json && npm cache clear --force && npm cache clean --force && npm i
* 実行
npm run 〇〇
大抵のケースでは上記で解決できますが
そうでない場合もありますので他に遭遇した例を以下にソッと載せておきます。
例外① Sass Loader has been initialized using an options object that does not match the API schema というエラー
php 7.4
Laravel 6.8
node 12.13.1
npm 6.12.1
ERROR in ./resources/sass/app.scss
Module build failed (from ./node_modules/css-loader/index.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.
- options has an unknown property 'outputStyle'.
-
ERROR in ./resources/sass/app.scss (./node_modules/css-loader??ref--5-2!./node_modules/postcss-loader/src??postcss0!./node_modules/resolve-url-loader??ref--5-4!./node_modules/sass-loader/dist/cjs.js??ref--5-5!./resources/sass/app.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.
解決策
package.jsonのsass-loaderのバージョンが8などはエラーになるので7.1に修正する
npm uninstall --save-dev sass-loader
npm install --save-dev sass-loader@7.1.0
→ 参考(https://teratail.com/questions/242618)
🤕 それでも何かしらエラーが出てコマンドが実行できない場合
① nodeを入れ直したら解決できる場合
⑴ 手動で入れる
まずは下記の公式サイトから自分のOSに合わせたnodeをダウンロードしてzipを解凍します。
https://nodejs.org/ja/download/
バージョンは最新ではなく推奨版をダウンロードするようにします。
その後、
rm -rf node_modules && rm package-lock.json
npm cache clear --force && npm cache clean --force
npm install
npm run 〇〇
② アクティビティモニタでnodeをkillしてやり直す(Mac)
ここまできて解決できない場合は、もう node
が反抗期でクラッシュしている可能性があるので怒りを強制的に鎮めます。
Macに入っているアプリケーションの一つに アクティビティモニタ
というものがあるのでまずは起動してください
アクティビティモニタ
を開いたら右上の検索ボックスで node
を検索し、
下の列で node
を選択をしたうえで上にある ❌ ボタンで実行中のプロセスを切ります。
その上で npm run 〇〇
をやり直してください。
おつかれさまでした!