2015-02-24 26 views
2

我最近更新了我的npm版本2.5.1,當我使用npm install express --save在我的項目安裝express本地node_modules下它想出了這個錯誤:如何刪除本地npm安裝的sudo要求?

npm WARN locking Error: EACCES, open '/Users/patrick/.npm/_locks/express-44e9a2fe3cb5b729.lock' 
npm WARN locking  at Error (native) 
npm WARN locking /Users/patrick/.npm/_locks/express-44e9a2fe3cb5b729.lock failed { [Error: EACCES, open '/Users/patrick/.npm/_locks/express-44e9a2fe3cb5b729.lock'] 
npm WARN locking errno: -13, 
npm WARN locking code: 'EACCES', 
npm WARN locking path: '/Users/patrick/.npm/_locks/express-44e9a2fe3cb5b729.lock' } 
npm ERR! Darwin 13.4.0 
npm ERR! argv "node" "/usr/local/bin/npm" "install" "express" "--save" 
npm ERR! node v0.12.0 
npm ERR! npm v2.5.1 

npm ERR! Attempt to unlock (path to project here)/node_modules/express, which hasn't been locked 

當我與sudo再次運行它,它的工作好,但現在我的文本編輯器要求我每次覆蓋項目文件夾中的文件時都要輸入密碼。爲什麼會發生這種情況,我該如何解決?

注意,我不僅要防止本地安裝的要求sudo的,但我也想解開項目文件夾,所以我沒有讓打字我在文本編輯器密碼。

回答

1

sudo npmis not recommended by the npm creator Isaac Schlueter

I strongly encourage you not to do package management with sudo! Packages can run arbitrary scripts, which makes sudoing a package manager command as safe as a chainsaw haircut. Sure, it’s fast and definitely going to cut through any obstacles, but you might actually want that obstacle to stay there.

chown -R $USER <directory> 
:不應該使用正確的權限和所有權設置需要不斷

See here for more details.

即使後,如果您再次運行sudo npm,每創建子目錄將被由超級用戶擁有,你會得到每當試圖訪問他們作爲普通用戶的錯誤。

因此抵制sudo的誘惑:)

0

我走進~/.npmsudo rm -R ./*刪除緩存,然後我修改了項目文件夾的權限回到我的用戶通過運行cd (path to project)sudo chmod -R patrick ./*

+0

你可能是想說這裏的chown。 – 2015-05-13 22:50:49