2016-12-27 110 views
0

每當我嘗試一個新的軟件包安裝到我的項目,NPM隨機刪除舊的包,我有再拋出這個錯誤:NPM被刪除舊的包

npm ERR! Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axios.DE 
LETE' 
npm ERR!  at moveAway (C:\Program Files\nodejs\node_modules\npm\lib\install\action\finalize.js:38:5) 
npm ERR!  at destStatted (C:\Program Files\nodejs\node_modules\npm\lib\install\action\finalize.js:27:7) 
npm ERR!  at FSReqWrap.oncomplete (fs.js:82:15) 
npm ERR! 
npm ERR! Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axios.DE 
LETE' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axio 
s.DELETE'] parent: 'Nasss' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! Please include the following file with any support request: 
npm ERR!  C:\wamp\www\react_projects\Nasss\npm-debug.log 

是它面臨的某種衝突與我已經安裝了舊的軟件包?

P.S:我已經有了以管理員身份運行的CMD。

+0

嗨@Raymond,npm刪除一個包*隨機*還是總是刪除相同的包?你安裝的軟件包和軟件包之間的依賴關係是什麼? 是否有其他進程運行從axios /文件夾(例如節點)加載的文件? –

+0

@ KonstantinA.Magg,它隨機刪除一個包。在上面的錯誤中,我試圖安裝'react-native-device-info'和npm刪除axios。 axios有這種依賴性:'「follow-redirects」:「1.0.0」'和RN設備信息在package.json中有一個空對象 – Raymond

+0

Did [my answer](https://stackoverflow.com/questions/41344172/npm -is-deleting-old-packages/41344518#41344518)以下幫助你?任何意見? – rsp

回答

0

這似乎是一個奇怪的權限問題。

看起來npm無法將目錄重命名爲其他名稱,如果新版本未能安裝,那麼這些名稱可能是模塊的舊版本保留用於備份。

您確定您擁有相同的權限"Program Files\nodejs\node_modules"的所有子目錄嗎?看起來您可能對現有子目錄具有不同的權限,而不是針對新子目錄和/或父目錄node_modules

在Unix/Linux上,我會在一行中修復它與chmodchown,但對於Windows,您將不得不通過目錄並檢查權限。

O也許你需要以管理員身份運行來全局更新/安裝模塊。這取決於您的權限和您的配置。

+0

在'Program Files \ nodejs \ node_modules/npm'的目錄中,我現在設置爲擁有所有應用程序包的權限。在嘗試安裝新軟件包之前,我無法將答案標記爲正確。 – Raymond