[英]How can I install a npm package locally in Meteor and make changes on it?
[英]How do I make my NPM package show “npm WARN prefer global” when installing locally
難以google the subj - 太多的用戶問題,我的是關於包開發。 我希望我的軟件包的用戶在全局安裝時看到“npm WARN prefer global” 。
我以為npm install yo
曾經有過這樣的警告,但現在卻沒有。 至少我看不到它。
我的環境:
› npm --version
1.4.10
› node -v
v0.10.28
Ben Fortune的回答指定了npm包作者如何將包指定為 "preferGlobal": true
全局安裝 (通過添加鍵值對"preferGlobal": true
到package.json
文件)。
可悲的是,正如OP自己在評論中指出的那樣,這還不足以始終觸發用戶在本地 安裝此類軟件包的警告 。
從npm 2.3.0開始,使用npm install <pkgName>
(即不使用-g
)在本地安裝全局安裝首選軟件包時的行為如下:
警告 - npm WARN prefer global <pkgName>@<ver> should be installed with -g
- 僅在以下情況下被觸發 :
package.json
文件 , dependencies
和/或optionalDependencies
鍵,其值是一個對象(無論是否為空) - 除非手頭的包恰好包含在其中。 實際上,這意味着在以下場景中運行npm install <pkgName>
(即沒有-g
)時 , 您將看不到警告 :
package.json
文件)。 dependencies
和/或optionalDependencies
鍵 - 相反,鍵devDependencies
和/或peerDependencies
本身不會觸發警告)。 pkgName
安裝為(通過定義本地) 運行時依賴項(在key dependencies
或optionalDependencies
)。 請注意,即使--loglevel silly
也不會改變此行為,因此目前無法強制無條件顯示警告 。
將包指定為全局確實具有一個無條件的副作用,但是:在npm注冊表( http://npmjs.com )中,右側邊欄中顯示的安裝命令是npm install <pkgName> -g
; 即,它確實包括-g
。
[ 更新:此功能已經破了一段時間,截至2015年9月14日仍然存在 - 請參閱 https://github.com/npm/newww/issues/1017 ]
preferGlobal
現已棄用 :
此選項用於觸發npm警告,但不會再發出警告。 純粹出於信息目的。 現在建議您盡可能將任何二進制文件安裝為本地devDependencies。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.