NPM: установка определенной версии пакета

NPM или диспетчер пакетов узлов - это мощный инструмент, который позволяет легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель - помочь вам загрузить и установить пакеты Node из репозитория в ваш проект. Загрузка и установка пакета выполняется с помощью команды установки NPM: $ npm install express + express@4.17.1 добавил 50 пакетов от 37 участников и проверил 126 пакетов в 3.262s, обнаружено 0 уязвимостей При запуске установки

NPM или диспетчер пакетов узлов - это мощный инструмент, который позволяет легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель - помочь вам загрузить и установить пакеты Node из репозитория в ваш проект.

Загрузка и установка пакета выполняется с помощью команды install NPM:

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

Когда вы запускаете такую install , по умолчанию она получает последнюю версию указанного пакета, которая в данном случае v4.17.1 (на момент написания).

Но что, если нам понадобится другая версия? Может быть, эта последняя версия нарушает работу нужной нам функции, или, может быть, в ней есть уязвимость в системе безопасности, которую разработчик еще не решил исправить. В подобных случаях вы, вероятно, захотите установить определенную версию пакета, которая, как вы знаете, работает или является «безопасной».

Для этого мы можем указать версию, используя синтаксис npm install [package]@[version] . Продолжая наш пример выше, мы бы выполнили что-то вроде этого:

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

Как видите, NPM установил указанный нами пакет.

С NPM у нас также есть другие возможности для указания версии пакета. Используя символ вставки ( ^ ) или тильду ( ~ ), мы можем указать последнюю дополнительную версию или версию исправления, соответственно. Таким образом, вы можете указать совместимую версию пакета, но при этом получить самую последнюю.

Так, например, если вы хотите использовать Express версию 4.16, но версия патча не важна, вы можете использовать тильду, чтобы указать NPM получить последнюю версию патча:

 $ 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 

Поскольку мы поставили перед версией префикс ~ , NPM извлек последнюю версию патча под второстепенной версией 4.16, которая оказалась 4.16.4.

Это хорошо, когда вам не нужна конкретная версия, но вы хотите поддерживать свои зависимости в актуальном состоянии с помощью последних исправлений и исправлений уязвимостей.

Для получения дополнительной информации ознакомьтесь с Caret vs Tilde в package.json .

comments powered by Disqus