なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ

書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

2023/03/02

PNPM で Unsupported environment (bad pnpm and/or Node.js version) と言われるのでなんとかしたい

カテゴリー:

最近 PNPM を使っているんですが、 node -vv18.12.1 とかを返しているにもかかわらず、 Node 14 には対応してないよ!って言われる。
それの解決方法。

基本的には、このコメントにあるとおりの作業をすれば治る。

NPM is (still?) not correctly identifying the node version #5266

が、 Windows 等の場合、何らかの理由で以下のようなエラーが発生するケースがある。

$ pnpm i -g pnpm
Nothing to stop. No server is running for the store at C:\Users\natsuneko\AppData\Local\pnpm\store\v3
Packages: +1
+
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: C:\Users\natsuneko\AppData\Local\pnpm\store\v3
  Virtual store is at:             .pnpm
 WARN  The target bin directory already contains an exe called pnpm, so removing C:\Users\natsuneko\AppData\Local\pnpm\pnpm.EXE
Progress: resolved 1, reused 0, downloaded 1, added 1, done
 EPERM  EPERM: operation not permitted, unlink 'C:\Users\natsuneko\AppData\Local\pnpm\pnpm.EXE'

この場合、上記ディレクトリにある pnpm.exe を削除した後、再度 PNPM をインストールすることで治る。

$ pnpm install -g pnpm
Nothing to stop. No server is running for the store at C:\Users\natsuneko\AppData\Local\pnpm\store\v3
Already up to date
Progress: resolved 1, reused 1, downloaded 0, added 0, done
Done in 737ms

あとは、 pnpm env use で、ワークスペースで使っている Node.js バージョンを指定すれば良い。
わたしは基本一括であげてるので -g フラグを付与している。

$ pnpm env use --global 18.12.1
Node.js 18.12.1 is activated
C:\Users\natsuneko\AppData\Local\pnpm\node.exe -> C:\Users\natsuneko\AppData\Local\pnpm\nodejs\18.12.1\node.exe

あとは、通常通りインストールコマンドを叩けば動くはず。

$ pnpm install
Lockfile is up to date, resolution step is skipped
Packages: +1063
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: M:\.pnpm-store\v3
  Virtual store is at:             node_modules/.pnpm
Downloading registry.npmjs.org/next/13.2.3: 10.4 MB/10.4 MB, done
Downloading registry.npmjs.org/@next/swc-win32-x64-msvc/13.2.3: 31.3 MB/31.3 MB, done
Progress: resolved 1063, reused 1038, downloaded 25, added 803, done
...
 
 
The integrity of 61938 files was checked. This might have caused installation to take longer.
Done in 3m 37.8s

Copyright (c) 2015 - 2023 Natsuneko <me@natsuneko.cat>