[英]npm install the exact package version specified in package.json
[英]Install different version of npm packages in package.json conditionally
我正在開發一個使用私有 package 的 web 應用程序。 在某些情況下,我寧願使用 package 的本地版本或 package 的不同版本。
是否有任何解決方案表明在 package.json 中使用不同版本的 package?
IE:
npm install --local
而我的 package.json 看起來像:
...
"dependencies": {
...
"my_package": if(local) "address_to_local_package/" else "5.6.1"
...
}
npm
不適應這種情況(老實說,可能不應該)。 這似乎是通常在運行時通過NODE_ENV
環境變量或類似機制處理的類型。 該模塊會根據NODE_ENV
設置為"production"
還是"development"
來更改行為。 (但這只是慣例。如果需要,您可以使用諸如"local"
類的值。)因此,與其安裝不同版本的模塊,不如根據該環境變量的值有一個行為不同的版本。
如果你真的想要完全安裝不同的代碼庫,這將需要一些努力,但你可以為postinstall
編寫一個安裝npm
運行。 然后,您的模塊只不過是一個腳本,然后postinstall
根據環境變量或命令行標志確定實際安裝的內容。 不過,這對我來說似乎很脆弱。 如果你 go 這條路線,我會認真考慮你是否在這里解決了正確的問題。 NODE_ENV
看起來更加優雅和傳統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.