$ npm run watch しようとしたら Sorry, there’s a problem with nodist. Couldn’t resolve node version ~~~と出たときの対処法

目次

$ npm run watch しようとしたら Sorry, there’s a problem with nodist. Couldn’t resolve node version ~~~

$ npm run watch

しようとしたら
Sorry, there’s a problem with nodist. Couldn’t resolve node version spec %s: %s 4.5.0 Couldn’t find any matching version
と怒られた。

なんでだろうと調べたりいろいろ試したりしましたが小1時間ほどハマり心優しい同僚に助けてもらったので覚書しておきます。
池田さんありがと。

対処法

1. nodeのバージョンを確認する

$node -v

v0.0.0

2. .node-version(.node-version)を開いて記載されているバージョンを確認

私の場合「v11.13.0」と記載されていました。
このバージョンとnode-v したときのバージョンを合わせてやります。

3. 今適用されているnode.jsのバージョンを確認

$ nodist

(x64)

> 4.5.0 (C:\xampp\htdocs\hogehoge.jp\hugahuga\.node-version: v4.5.0)

10.15.1 (global: 10.15.1)

11.0.0

11.13.0

つまり現在のnode.jsのバージョンが4.5.0になってしまっている。(私の場合11.13.0も一応存在はしました)

4. v11.13.0がなければインストール

$ nodist + v11.13.0

5. v11.13.0がインストール済になったので切り替える

$ nodist v11.13.0

v11.13.0

v11.13.0 (global)

6. node.jsのバージョンが切り替わったか確認

$ node -v

v11.13.0

これで切り替え完了!

7. 頼む、動いてくれ!

$ npm run watch

8. それでも動かなかったとき

魔法の呪文
(使用中の node にあったバージョンの npm をインストールしてくれます)

$ nodist npm match

9. それでもまだ動かなかったとき

おまじない
(npm config スクリプトの設定でパスを先頭に追加)

$ npm config set scripts-prepend-node-path true

からの

$ npm config list

; userconfig C:\Users\whatthehell\.npmrc

scripts-prepend-node-path = true

が追加されていることを確認します。
そして

$npm run watch

まとめ

ここまでの手順でわたしは動きました。

●参考

▼nodist 環境下で npm script 使用時にエラー – blog

▼npm がどうしてもエラーになってしまったら – Qiita

▼Laravel-Mixコンパイル時のcode ELIFECYCLEエラーに対応する – Qiita

▼nodistでnode.jsのバージョン管理をする | IT王子の技術ブログ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次