2017-08-22 26 views
1

我知道可以指定minimum version of node for a package to allow itself to be installed without warning只有當節點版本足夠大時,我如何才能要求包?

還有一個問題關於[僅安裝最新版本的軟件包是兼容並沒有什麼新的。]

然而,在我的情況,我試圖讓我的包是用硬件無法兼容運行比0.10.x更新的節點版本。具體而言,這是使用ARMv5處理器的硬件,對於V8的新版本,這些硬件支持被丟棄。爲此,我需要一些polyfills,例如,os-homedir。我不希望實際上要求任何這樣的軟件包在不需要的情況下安裝,因爲它們被標記爲已棄用,並且在上面的示例中,它的npmjs頁面被標記爲甚至未被使用,雖然我目前能夠npm install它。

如何指定特定的模塊僅在系統上存在的nodejs版本爲0.10.x或更高版本時才需要?

+0

運行相關的安裝包的相應版本:https://stackoverflow.com/questions/34400452/node-js-conditional-require –

回答

0

你所要求的是有點反半導體,因爲你總是需要安裝一個特定版本的軟件包。通過致電npm install <package>您只需索取最新版本。讓npm回滾到基於活動性的舊版本可能會令人困惑,而不是非常「沉悶」。

這個目前的解決方案是:

指定您package.json如下:

{ 
    "engines" : { 
     "node" : ">=0.10.3" 
    } 
} 

現在上一個版本節點比10.3年長的安裝此軟件包將導致失敗。然後用戶必須運行npm view <package> versions,然後通過運行npm install <package>@<version>

相關問題