Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

😥 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 〇〇 をやり直してください。

おつかれさまでした!

kuroro_ru
React,Vueの使い手でフロント系の念能力者
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away