nvm rejects `prefix` or `globalconfig` in `~/.npmrc`
Source: Troubleshooting reference
Symptom: install/node.sh stops during nvm use or after installing a Node
version:
Your user’s .npmrc file (${HOME}/.npmrc)has a `globalconfig` and/or a `prefix` setting, which are incompatible with nvm.Root cause: a legacy prefix=~/.npm sends every global package to one shared
tree. nvm instead gives each Node version its own global prefix under $NVM_DIR;
mixing the two makes package binaries and native addons run under the wrong Node
ABI. globalconfig can redirect npm to another file containing the same
conflict.
Fix: rerun install/node.sh. Before loading nvm it atomically removes an
active prefix from the user .npmrc, preserves the remaining npm policy, and
keeps the file private. If .npmrc sets globalconfig, the installer leaves it
unchanged and stops: copy any needed registry/auth/policy from the referenced
file into ~/.npmrc, remove the globalconfig line, then rerun. nvm owns the
Node/npm prefix; packages/npm.txt owns the global CLI set. Do not export
NPM_CONFIG_PREFIX or add another npm prefix for this setup.
Verify the selected runtime and global tree agree:
source "$NVM_DIR/nvm.sh"nvm use default --silentcommand -v nodenpm prefix -gdirname "$(dirname "$(nvm which default)")"The last two paths must match.