LoginSignup
92
72

More than 1 year has passed since last update.

npm がどうしてもエラーになる

Last updated at Posted at 2019-12-05

😥 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に入っているアプリケーションの一つに アクティビティモニタ というものがあるのでまずは起動してください
スクリーンショット 2020-11-21 20.49.56.png

スクリーンショット 2021-02-02 16.48.27.png

アクティビティモニタ を開いたら右上の検索ボックスで nodeを検索し、
下の列で node を選択をしたうえで上にある ❌ ボタンで実行中のプロセスを切ります。
その上で npm run 〇〇 をやり直してください。

おつかれさまでした!

92
72
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
92
72