簡體   English   中英

全局可用時不要通過npm install安裝本地模塊

[英]Do not install local modules via npm install when global available

如何配置package.json以使全局可用的依賴項不會在本地再次安裝?

例如,我有一個項目,其中jshint列為dev-dependency; 但是,我已經全局安裝了jshint,並且我希望此模塊使用全局jshint。

不確定要執行的操作,但是在任何情況下都不希望在代碼中使用全局依賴項。

要獲取一些信息,請鍵入npm help folders ,這是tl; dr部分:

  • 本地安裝(默認):將內容放入當前軟件包根目錄的./node_modules中。
  • 全局安裝(帶-g):將內容放入/ usr / local或安裝節點的任何位置。
  • 如果您需要require(),請在本地安裝。
  • 如果要在命令行上運行它,請全局安裝它。
  • 如果兩者都需要,則將其安裝在兩個地方,或使用npm鏈接。

因此,對於您來說,最后一個項目link是答案: https : //docs.npmjs.com/cli/link

您需要在基本文件夾中運行npm link jshint 它將node_modules / jshint鏈接到全局的。 這將創建一個指向二進制文件的符號鏈接,但是,您無法在代碼的某些時候在require()中使用它。 如上所述,全局軟件包將在命令行上運行,因此它們是二進制文件。

畢竟,我最終將npx用於需要全局安裝的東西,例如,npm腳本中的npx npx standard 無論全球存在如何,都可以工作。

暫無
暫無

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

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