簡體   English   中英

npm軟件包未在項目的package.json中列出,但沒有無關的錯誤

[英]npm package is not listed in project's package.json but no extraneous error

我在項目中看到了一種奇怪的情況。 有3個未在package.json列出的軟件包,但在開發過程中已安裝。

以我的理解, npm list應該顯示我extraneous error 但是,沒有顯示錯誤。 我想知道npm如何確定哪個包無關緊要?

這三個軟件包分別是asyncdebugmime 我正在使用npm 1.4.28

首先,您應該更新npm ,因為1.4.28已經很舊了。 最新的是2.4.1

其次,如果包不是在package.json命名的(dependency,devDependency,optionalDependency) 或其任何依賴項,則它是無關緊要的。

例如,我可以創建這種情況:

$ mkdir test && cd test $ echo {} > package.json $ npm install --save jslint $ npm install exit $ npm ls

現在exit是無關緊要的,即使它是jslint的依賴項,因為jslintnode_modules/jslint/node_modules/exit下也有自己的exit版本。 讓我們擺脫它:

$ rm -rf node_modules/jslint/node_module/exit $ npm ls

現在exit不再多余,因為需要它來滿足jslint的依賴關系。 但是,如果我查看./node_modules我會看到兩個包, exitjslint ,其中只有一個在package.json命名。

如果我誤解了您的問題,請告訴我。

我想知道npm如何確定哪個包無關緊要?

不在package.json中的已安裝軟件包將觸發npm extraneous error

嘗試刷新本地node_modules目錄。 使用--save / --save-dev鍵安裝所需的軟件包。

暫無
暫無

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

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