0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

fnmでNode.jsを切り替えたらpnpmが使えなくなった

0
Posted at

事象

やや古いシステムの保守を実施していた際、手順書の指定に従って Node.js のバージョン切り替えを行いました。

fnm install 18.12.0
fnm default 18.13.0

切り替え後、それまで問題なく使用できていた pnpm を実行したところ、コマンドとして認識されなくなりました。

C:\Users\hnaka>pnpm
'pnpm' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

原因

Node.js のバージョンを切り替えたことで、 Corepack が無効化されたためです。

対応

新しい Node.js 環境において、Corepack を再度有効化します。

corepack enable

これだけで、再び pnpm が利用可能になります。

補足:Corepack は現時点で非推奨(の方向)

便利ではありますが、Corepack は Node.js v20 以降、標準から外される(あるいはデフォルト同梱しない)方向で議論が進んでいます。

  • 現状: 同梱はされているが、デフォルトでは無効。
  • 今後: 将来的には npm install -g pnpm によるインストール、あるいは専用のセットアップ手順が推奨される可能性があります。

古いシステムの保守で Node.js のバージョンを頻繁に往復する場合、「Node を変えたら corepack enable」をセットで覚えておくとスムーズです。

環境

  • fnm 1.38.1
  • corepack 0.23.0
  • pnpm 7.14.1
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?