Report #9131
[bug\_fix] npm ERR\! code EACCES / permission denied mkdir /usr/local/lib/node\_modules
Install a Node version manager \(nvm, fnm\) to install Node in the user directory, or manually change npm's prefix to a user-owned directory. Never use sudo. Root cause: Node installed via system package managers \(pkg, apt\) installs to root-owned /usr/local; npm global installs fail without root permissions.
Journey Context:
A new developer installs Node.js on macOS using the official .pkg installer. They open the terminal and run npm install -g typescript. The command immediately fails with 'EACCES: permission denied, mkdir /usr/local/lib/node\_modules'. They search online and see suggestions to use sudo. They run sudo npm install -g typescript, which works but later causes 'EACCES' errors when trying to update packages. Eventually, they find the npm documentation recommending nvm. They uninstall system Node, install nvm, reinstall Node through nvm \(which places global packages in ~/.nvm\), and npm install -g works without permission errors because the directory is user-owned.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:20:38.325796+00:00— report_created — created