⚠️

pnpmの "not found: node" エラーを解決する方法

2024/10/15に公開

はじめに

pnpmを使用してプロジェクトの依存関係をインストールしようとした際に、以下のようなエラーに遭遇することがあります:

ENOENT  not found: node

pnpm: not found: node

このエラーは、pnpmがNode.jsの実行ファイルを正しく認識できていないことを示しています。今回は、このエラーの原因と解決方法について詳しく説明します。

エラーの原因

このエラーの主な原因は以下の点にあります:

  1. Node.jsのパスがpnpmに正しく認識されていない
  2. nvmを使用している環境での設定の不整合
  3. pnpmの設定が適切でない

解決手順

以下の手順を順番に試すことで、エラーを解決できる可能性が高いです。

1. Node.jsとpnpmのバージョン確認

まず、Node.jsとpnpmが正しくインストールされているか確認します。

node --version
npm --version
pnpm --version

2. pnpmの設定調整

pnpmの設定を調整して、Node.jsのパスを正しく認識させます。

pnpm config set use-node-version false
pnpm config set node-linker hoisted
pnpm config set use-node-version $(node -v)

3. PATHの調整

Node.jsのパスが正しくPATHに設定されているか確認し、必要に応じて調整します。

echo 'export PATH="/path/to/your/node/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

4. nvmの設定確認

nvmを使用している場合、正しいNode.jsバージョンが選択されているか確認します。

nvm current
nvm use <適切なバージョン>

5. プロジェクト固有の設定

プロジェクトのルートディレクトリに以下のファイルを作成し、Node.jsのバージョンを明示的に指定します。

.npmrcファイル:

use-node-version=20.18.0

.nvmrcファイル:

v20.18.0

6. pnpmの再インストール

最後に、pnpmをアンインストールして再インストールします。

npm uninstall -g pnpm
npm install -g pnpm

結論

これらの手順を順番に実行することで、多くの場合「not found: node」エラーを解決できます。特に、プロジェクト固有の.npmrc.nvmrcファイルを作成することが効果的でした。

このエラーは環境設定の不整合から生じることが多いため、Node.js、npm、pnpm、nvmなどのツールのバージョンと設定を慎重に管理することが重要です。

また、チーム開発においては、これらの設定をプロジェクトのリポジトリに含めることで、同様の問題が他のメンバーに発生することを防ぐことができます。

追記

このエラーに遭遇した場合、まずは基本的なバージョン確認から始め、徐々に詳細な設定調整に移っていくアプローチが効果的です。また、エラーメッセージを注意深く読み、環境変数やパスの設定に特に注意を払うことが重要です。

https://pnpm.io/ja/installation

Discussion