[英]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.