NPM:Instalace konkrétní verze balíčku

NPM neboli Node Package Manager je výkonný nástroj, který vám umožní snadno spravovat závislosti, spouštět skripty a organizovat metadata projektu. Jeho hlavním účelem je však pomoci vám stáhnout a nainstalovat balíčky Node z jeho úložiště do vašeho projektu.

Stažení a instalace balíčku se provádí pomocí install NPM příkaz:

$ npm install express

+ [email protected]
added 50 packages from 37 contributors and audited 126 packages in 3.262s
found 0 vulnerabilities

Když spustíte install příkaz takto, ve výchozím nastavení načte nejnovější verzi zadaného balíčku, což je v tomto případě v4.17.1 (v době psaní tohoto článku).

Ale co když potřebujeme jinou verzi? Možná tato nejnovější verze porušuje funkci, kterou potřebujeme, nebo možná obsahuje bezpečnostní zranitelnost, kterou se správce ještě nedostal k opravě. V případech, jako je tento, budete pravděpodobně chtít nainstalovat konkrétní verzi balíčku, o které víte, že funguje, nebo o které víte, že je „bezpečná“.

K tomu můžeme specifikovat verzi pomocí syntaxe npm install [package]@[version] . Pokračujeme-li v našem příkladu výše, provedli bychom něco takového:

$ npm install [email protected]

+ [email protected]
added 48 packages from 36 contributors and audited 121 packages in 2.986s
found 0 vulnerabilities

Jak můžete vidět, NPM nainstalovalo balíček, který jsme zadali.

S NPM máme také další možnosti pro specifikaci verze balíčku. Pomocí buď stříšky (^ ) nebo vlnovku (~ ) můžeme specifikovat poslední vedlejší verzi nebo verzi opravy. Tímto způsobem můžete určit kompatibilní verzi balíčku, ale přesto získat nejnovější.

Pokud tedy chcete například použít Express verzi 4.16, ale verze opravy není důležitá, můžete pomocí vlnovky říci NPM, aby načetla nejnovější verzi opravy:

$ npm install [email protected]~4.16.1

+ [email protected]
added 48 packages from 36 contributors and audited 121 packages in 3.02s
found 0 vulnerabilities

Protože jsme verzi předponu ~ , NPM stáhlo nejnovější verzi opravy pod 4.16 menší verzí, která se ukázala jako 4.16.4.

To je dobré, když nepotřebujete příliš konkrétní verzi, ale chcete své závislosti udržovat aktuální pomocí nejnovějších záplat a oprav bezpečnostních chyb.

Pro více informací se podívejte na Caret vs Tilde v package.json.