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に配置

  1. グローバルnpmプレフィックスを見つける:
npm prefix -g
  1. シェル起動ファイルにグローバル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が存在します。