簡體   English   中英

npm 安裝錯誤 ENOTEMPTY:目錄不為空,

[英]npm install error ENOTEMPTY: directory not empty,

當我嘗試使用npm install安裝一些新軟件包時遇到以下錯誤。 它發生在我npm install a-new-package --save然后刪除 package-lock.json 文件以刷新所有內容時。

npm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /Users/memphismeng/Documents/React Programming/Foot-in-The-Door/mobile/fitd/node_modules/@babel/plugin-proposal-decorators
npm ERR! dest /Users/memphismeng/Documents/React Programming/Foot-in-The-Door/mobile/fitd/node_modules/@babel/.plugin-proposal-decorators-ysLLPQFw
npm ERR! errno -66
npm ERR! ENOTEMPTY: directory not empty, rename '/Users/memphismeng/Documents/React Programming/Foot-in-The-Door/mobile/fitd/node_modules/@babel/plugin-proposal-decorators' -> '/Users/memphismeng/Documents/React Programming/Foot-in-The-Door/mobile/fitd/node_modules/@babel/.plugin-proposal-decorators-ysLLPQFw'

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/memphismeng/.npm/_logs/2021-06-15T18_07_01_162Z-debug.log

什么地方出了錯? 我還嘗試npm audit fix --legacy-peer-deps但它沒有用。

可能會刪除node_modules文件夾和package-lock.json文件,然后重新安裝npm將解決您的問題。

因此,請考慮以下命令來應用上述操作:

remove node_modules 
remove package-lock.json
npm install 

顯然,刪除 package.json 是有效的,但這並不總是理想的解決方案。 有時你想運行:

 npm i --package-lock-only //to update package.lock.json
 npm audit fix

接着:

npm i

這應該是第一次嘗試,但是,我不知道為什么它在我的情況下不起作用,這是在反應原生場景中。 當 npm 嘗試寫入非空文件夾(在本例中為“node_modules/@babel/.plugin-proposal-decorators-ysLLPQFw”時,似乎發生了錯誤“npm install error ENOTEMPTY”。 如果你運行:

rm -rf node_modules/@babel/.plugin-proposal-decorators-ysLLPQFw

接着:

npm i

這次應該可以了。 不過,這應該是 react-native 的清理過程,並且在使用像 CRA 這樣的 web 入門套件時,我以前從未遇到過。

在使用 npm 時,我遇到了一個非常相似的問題。 對我來說很有魅力的是更新我的項目包和依賴項,特別是react-scripts

檢查您的過時軟件包:

npm outdated

或者,按照這個人的代碼片段進行操作,它會自動執行檢查和更新包的任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM