在 macOS/Linux 上執行 npm install 時報錯:
npm ERR! Error: EACCES, open '/Users/xxx/.npm/xxx/package.json'
npm ERR! { errno: 3, code: 'EACCES', path: '...' }
npm ERR! Please try running this command again as root/Administrator.
原因:~/.npm 目錄屬主為 root(之前用 sudo npm install -g 創建),當前用戶無寫入權限。
sudo chown -R $(whoami):$(id -gn) ~/.npm
將 .npm 遞歸改歸當前用戶,後續無需 sudo。
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
優點:全局包安裝在用戶目錄,**永遠不需要 sudo**,避免權限混亂。
rm -rf ~/.npm/_cacache # 清理緩存
rm -rf /tmp/npm-* # 清理系統臨時文件
npm install # 應正常運行
npm install -g express-generator # 全局安裝也無需 sudo
npm install(無 -g)npx、corepack 或包管理器(apt/brew/yum)安裝curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash