Node.js + npm(PATH健全性)
OpenClawのランタイムベースラインは**Node 22+**です。
npm install -g openclaw@latestを実行できるが、後でopenclaw: command not foundが表示される場合、ほぼ常にPATHの問題です: npmがグローバルバイナリを配置するディレクトリがシェルのPATH上にありません。
クイック診断
実行:
node -v
npm -v
npm prefix -g
echo "$PATH"
$(npm prefix -g)/bin(macOS/Linux)または$(npm prefix -g)(Windows)がecho "$PATH"内に存在しない場合、シェルはnpmグローバルバイナリ(openclawを含む)を見つけられません。
修正: npmのグローバルbinディレクトリをPATHに配置
- グローバルnpmプレフィックスを見つける:
npm prefix -g
- シェル起動ファイルにグローバルnpm binディレクトリを追加:
- zsh: ~/.zshrc
- bash: ~/.bashrc
例(npm prefix -gの出力でパスを置き換える):
# macOS / Linux
export PATH="/path/from/npm/prefix/bin:$PATH"
次に新しいターミナルを開いてください(またはzshでrehash / bashでhash -rを実行)。
Windowsでは、npm prefix -gの出力をPATHに追加してください。
修正: sudo npm install -g / パーミッションエラー(Linux)の回避
npm install -g ...がEACCESで失敗する場合は、npmのグローバルプレフィックスをユーザー書き込み可能なディレクトリに切り替えます:
mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"
シェル起動ファイルにexport PATH=...行を永続化してください。
推奨Nodeインストールオプション
Node/npmが以下のようにインストールされていると、最も問題が少なくなります:
- Nodeを更新し続ける(22+)
- グローバルnpm binディレクトリを安定させ、新しいシェルでPATH上に配置
一般的な選択肢:
- macOS: Homebrew(brew install node)またはバージョンマネージャー
- Linux: 好みのバージョンマネージャー、またはNode 22+を提供するディストリサポートのインストール
- Windows: 公式Nodeインストーラー、winget、またはWindows Nodeバージョンマネージャー
バージョンマネージャー(nvm/fnm/asdf/など)を使用する場合は、日常的に使用するシェル(zsh vs bash)で初期化されていることを確認してください。そうすることで、インストーラーを実行するときに設定したPATHが存在します。