Report #76714
[bug\_fix] EACCES: permission denied, mkdir '/usr/local/lib/node\_modules'
Do not use sudo. Instead change npm's default directory to a user-owned location via npm config set prefix ~/.npm-global and update PATH, or use a Node version manager \(nvm/fnm\).
Journey Context:
Developer attempts npm install -g typescript or create-react-app without using a Node version manager. The install fails with EACCES permission denied when npm tries to write to /usr/local/lib/node\_modules. Common but dangerous workaround is sudo npm install -g which breaks npm's internal permission model and causes further EACCES errors later. Consulting the npm documentation on permission errors, the correct fix is to avoid system directories entirely. Developer runs mkdir ~/.npm-global && npm config set prefix '~/.npm-global' and exports PATH=~/.npm-global/bin:$PATH in shell config. Alternatively, installing nvm and reinstalling Node through it eliminates the issue by managing per-user Node versions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T11:21:06.845864+00:00— report_created — created