Report #9724
[bug\_fix] npm ERR\! code EACCES npm ERR\! syscall open npm ERR\! path /usr/local/lib/node\_modules/@angular/cli/package.json
Change npm's default directory to one owned by the current user \(mkdir ~/.npm-global, npm config set prefix '~/.npm-global', export PATH=~/.npm-global/bin:$PATH\), or use a Node version manager like nvm or fnm which handles permissions correctly, or on macOS use chown to fix /usr/local permissions \(less safe\).
Journey Context:
Developer on macOS or Linux tries to install a package globally with npm install -g @angular/cli or create-react-app. Gets EACCES permission denied on /usr/local/lib/node\_modules. Tries sudo npm install -g which appears to work but later causes cascading permission issues where subsequent npm operations require sudo and cache becomes owned by root. Realizes npm's default global directory is a system directory requiring admin rights. Instead of using sudo, follows npm's official documentation to change the global directory to ~/.npm-global which is user-owned, or switches to using nvm which installs Node and global packages entirely within the user's home directory, avoiding system permissions entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:51:23.402385+00:00— report_created — created