🦎

'npm run dev'でバージョン関係のエラーが出たときの対応(nodist使用)

2021/08/12に公開

下記サイトを見ながらVuew.js + Laravelの環境構築を行っています。
https://qiita.com/minato-naka/items/2d2def4d66ec88dc3ca2

npm run devを実行したところ、バージョン関係のエラーが出てしまいました。
もしかしたら誰かの役に立つかもしれないので、その時の対応を記録しておきます。

【私の環境】
・Windows 10 pro
・nodist インストール済み

1. node.jsのバージョンエラー

npm run dev を実行したら下記のようなエラーが出ました。

Error: You are using an unsupported version of Node. Please update to at least Node v12.14
(以下エラー群)

最低でも Node.js v12.14 にしてくださいという意味です。
今はどのバージョンが入っているのか確認してみます。

C:\>node --v
v11.13.0

v11.13.0 と出ました。なるほど確かに古いので、バージョンを上げましょう!
node.js公式サイトを見ると、当時は v14.17.4 が推奨されていました。

まず、 nodist + 14.17.4を実行し、バージョン14.17.4をインストールします。

nodist + 14.17.4

インストールが終わったら、 nodist 14.17.4を実行して使用するバージョンを指定します。
(今PC内には複数のバージョンが存在する状態なので、どのバージョンを使うか指定してあげる必要があります。)

nodist 14.17.4

これでnode.jsのバージョンアップが終わりました。

2. npmのバージョンアップ

色々調べてたらnpmのバージョンが古いことも判明。node.jsとマッチするバージョンのnpmをインストールしましょう。
nodist npm matchで、現状のnode.jsのバージョンに合わせてnpmをインストールしてくれます。

C:\>nodist npm match
npm match
https://codeload.github.com/npm/cli/tar.gz/v6.14.14 [=============  ] 5104/5834 KiB 87% 1.2s

npmのインストールが終わりました。

3. node_modulesの削除と再インストール

再度 npm run devを実行すると、まだエラーが出てきます。

(略)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `mix`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.![](https://storage.googleapis.com/zenn-user-upload/02051a86faf19dfbc5dfe1ef.png)
(略)

何を言ってるのか分からないので、素直にエラーメッセージで検索してみます。
すると、下記サイトにこんな情報がありました。

node_modulesを一旦削除し、再度インストールすることで対応できました。

https://note.com/koushikagawa/n/ne58862ebd22d

やってみましょう。

  1. プロジェクト内にある「node_modules」フォルダと、「package-lock.json」ファイルを削除します。
  2. プロジェクトディレクトリ上で、npm installを実行します。
  3. 再度 npm run devを実行します。(この処理には少し時間がかかります)

できました!!!!!!

まとめ

  1. node.jsを指定されたバージョン以上に設定する
  2. node.jsのバージョンに合うnpmをインストールする
  3. node_modulesを削除し、再インストールする

npm run devでバージョン関係のエラーが出たときは、上記を試してみてください。

他にも原因がある場合がありますので、その時はエラーメッセージなどを根気よく検索すれば、どこかに解決策が載っているはずです!

この記事が誰かの開発の役に立てば嬉しいです。


参考サイト

Discussion