> ## Documentation Index
> Fetch the complete documentation index at: https://aiwithapex.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Node.js + npm (PATH sanity)

# Node.js + npm (PATH sanity)

crocbot’s runtime baseline is **Node 22+**.

If you can run `npm install -g crocbot@latest` but later see `crocbot: command not found`, it’s almost always a **PATH** issue: the directory where npm puts global binaries isn’t on your shell’s PATH.

## Quick diagnosis

Run:

```bash theme={null}
node -v
npm -v
npm prefix -g
echo "$PATH"
```

If `$(npm prefix -g)/bin` (macOS/Linux) or `$(npm prefix -g)` (Windows) is **not** present inside `echo "$PATH"`, your shell can’t find global npm binaries (including `crocbot`).

## Fix: put npm’s global bin dir on PATH

1. Find your global npm prefix:

```bash theme={null}
npm prefix -g
```

2. Add the global npm bin directory to your shell startup file:

* zsh: `~/.zshrc`
* bash: `~/.bashrc`

Example (replace the path with your `npm prefix -g` output):

```bash theme={null}
# macOS / Linux
export PATH="/path/from/npm/prefix/bin:$PATH"
```

Then open a **new terminal** (or run `rehash` in zsh / `hash -r` in bash).

On Windows, add the output of `npm prefix -g` to your PATH.

## Fix: avoid `sudo npm install -g` / permission errors (Linux)

If `npm install -g ...` fails with `EACCES`, switch npm’s global prefix to a user-writable directory:

```bash theme={null}
mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"
```

Persist the `export PATH=...` line in your shell startup file.

## Recommended Node install options

You’ll have the fewest surprises if Node/npm are installed in a way that:

* keeps Node updated (22+)
* makes the global npm bin dir stable and on PATH in new shells

Common choices:

* macOS: Homebrew (`brew install node`) or a version manager
* Linux: your preferred version manager, or a distro-supported install that provides Node 22+
* Windows: official Node installer, `winget`, or a Windows Node version manager

If you use a version manager (nvm/fnm/asdf/etc), ensure it’s initialized in the shell you use day-to-day (zsh vs bash) so the PATH it sets is present when you run installers.
