以前在全局下用NPM安裝過Express的項目生成工具:
npm install -g express-generator
最近在Mac上通過express指令生成Express項目的時候發現進入到項目後,無法通過npm install安裝項目依賴。
express ExpressProjectName
提示沒有.npm目錄的訪問權限。
npm ERR! Error: EACCES, open '/Users/xyq/.npm/debug/0.7.4/package/package.json'
npm ERR! { [Error: EACCES, open '/Users/xyq/.npm/debug/0.7.4/package/package.json']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/Users/xyq/.npm/debug/0.7.4/package/package.json',
npm ERR! parent: 'sohunews-node' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/xyq/project/sohu/sohunews-node
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! path /Users/xyq/.npm/debug/0.7.4/package/package.json
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/xyq/.npm/debug/0.7.4/package/package.json'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/xyq/project/sohu/sohunews-node/npm-debug.log
npm ERR! not ok code 0
想來可能是因為執行.npm目錄是在root用戶下創建的,而我當前執行npm install的用戶是非root用戶。
SO,把根目錄下的.npm目錄權限更改為當前用戶的權限就OK了。
sudo chown -R $USER:$GROUP ~/.npm
如果還是不行,那麼清空一下tmp目錄就應該好用了。
rmdir ~/tmp
現在再執行npm install應該就可以正常安裝項目依賴了。