エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

nodist npm mathで入れた後にnpm -v でCannot find module

背景

掲題の通り。
npmいじってたら、セキュリティ警告が出ていることに気づいて、nodistでLTSのnodist入れたら上記の状態になった。

環境

windows10

原因

よく分からん。。。。
たぶん、npm matchでのインストールが失敗しているのだと思う。

ちなみに、npm -v したときの出力内容↓

$ npm -v
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'C:\Program Files (x86)\Nodist\npmv\7.20.3\bin\npm-cli.js'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)        
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

対応内容

とりあえず、インストール失敗してそうだったので、C:\Program Files (x86)\Nodist\npmv配下にある7.20.3ディレクトリを削除。

その後、nodist npm matchを実行してnpmをインストールする。

そして、npm -vする。
すると、表示できた。

$ npm -v
7.20.3

感想

nodistは、開発が止まっているから、「何かのバグを見つけたのか?もしかして、なんかやっちゃいました?」的なことを考えたが、単にインストールが失敗しているだけだった。
操作タイミングによってはインストールが失敗するのかも知れない。
そういえば、nodistを更新した後、node追加する前にnodist npm matchやったから、それがまずかったかも知れない。。。

nodistの開発が止まっているのは、もう機能追加は終わっているからだろうか?