[英]npm package is not listed in project's package.json but no extraneous error
我在項目中看到了一種奇怪的情況。 有3個未在package.json
列出的軟件包,但在開發過程中已安裝。
以我的理解, npm list
應該顯示我extraneous error
。 但是,沒有顯示錯誤。 我想知道npm如何確定哪個包無關緊要?
這三個軟件包分別是async
, debug
和mime
。 我正在使用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
的依賴項,因為jslint
在node_modules/jslint/node_modules/exit
下也有自己的exit
版本。 讓我們擺脫它:
$ rm -rf node_modules/jslint/node_module/exit $ npm ls
現在exit
不再多余,因為需要它來滿足jslint
的依賴關系。 但是,如果我查看./node_modules
我會看到兩個包, exit
和jslint
,其中只有一個在package.json
命名。
如果我誤解了您的問題,請告訴我。
我想知道npm如何確定哪個包無關緊要?
不在package.json中的已安裝軟件包將觸發npm extraneous error
。
嘗試刷新本地node_modules
目錄。 使用--save
/ --save-dev
鍵安裝所需的軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.