Семантическое управление версиями - это соглашение, используемое для придания значения версиям.
Если в пакетах Node.js есть что-то замечательное, так это то, что все согласились использовать семантическое управление версиями для своей нумерации версий.
Концепция семантического управления версиями проста: все версии имеют 3 цифры:x.y.z
.
- первая цифра - основная версия
- вторая цифра - второстепенная версия
- третья цифра - версия патча
Когда вы делаете новый релиз, вы не просто увеличиваете число, как вам нравится, но у вас есть правила:
- вы обновляете основную версию, когда вносите несовместимые изменения API
- вы обновляете второстепенную версию, когда добавляете функциональность обратно совместимым образом
- вы обновляете версию патча, когда делаете исправления ошибок с обратной совместимостью
Соглашение принято во всех языках программирования, и очень важно, чтобы каждыйnpm
package придерживается его, потому что от этого зависит вся система.
Почему это так важно?
Потому чтоnpm
установить некоторые правила, которые мы можем использовать вpackage.json
файлчтобы выбрать, до каких версий он может обновлять наши пакеты, когда мы запускаемnpm update
.
В правилах используются эти символы:
^
~
>
>=
<
<=
=
-
||
Давайте подробно рассмотрим эти правила:
^
: если вы напишете^0.13.0
при бегеnpm update
он может обновляться до патчей и второстепенных выпусков:0.13.1
,0.14.0
и так далее.~
: если вы напишете~0.13.0
, при бегеnpm update
он может обновляться до релизов патчей:0.13.1
нормально, но0.14.0
не является.>
: вы принимаете любую версию выше указанной>=
: вы принимаете любую версию, равную или выше указанной вами<=
: вы принимаете любую версию, равную или ниже указанной вами<
: вы принимаете любую версию ниже указанной=
: вы принимаете эту точную версию-
: вы принимаете ряд версий. Пример:2.1.0 - 2.6.2
||
: комбинируете наборы. Пример:< 2.1 || > 2.6
Вы можете комбинировать некоторые из этих обозначений, например, использовать1.0.0 || >=1.1.0 <1.2.0
либо использовать 1.0.0, либо одну версию от 1.1.0 и выше, но ниже 1.2.0.
Есть и другие правила:
- без символа: вы принимаете только ту конкретную версию, которую указали (
1.2.1
) latest
: вы хотите использовать последнюю доступную версию
Скачать мою бесплатнуюСправочник по Node.js
Дополнительные руководства по узлам:
- Введение в менеджер пакетов npm
- Введение в Node.js
- HTTP-запросы с использованием Axios
- Где разместить приложение Node.js
- Взаимодействовать с Google Analytics API с помощью Node.js
- Средство выполнения пакетов npx Node
- Руководство по package.json
- Где npm устанавливает пакеты?
- Как обновить Node.js
- Как использовать или выполнить пакет, установленный с помощью npm
- Файл package-lock.json
- Семантическое управление версиями с использованием npm
- Следует ли зафиксировать папку node_modules в Git?
- Обновите все зависимости Node до последней версии
- Разбор JSON с помощью Node.js
- Найдите установленную версию пакета npm
- Node.js потоки
- Установите старую версию пакета npm
- Получить текущую папку в Node
- Как зарегистрировать объект в Node
- Предоставление функциональности из файла узла с помощью экспорта
- Различия между узлом и браузером
- Сделайте HTTP-запрос POST с помощью Node
- Получить данные тела HTTP-запроса с помощью Node
- Буферы узлов
- Краткая история Node.js
- Как установить Node.js
- Сколько JavaScript вам нужно знать, чтобы использовать Node?
- Как использовать Node.js REPL
- Узел, принимать аргументы из командной строки
- Вывод в командную строку с помощью Node
- Принять ввод из командной строки в Node
- Удаление пакетов npm с помощью `npm uninstall`
- npm глобальные или локальные пакеты
- зависимости npm и devDependencies
- Цикл событий Node.js
- Понимание process.nextTick ()
- Понимание setImmediate ()
- Эмиттер событий узла
- Создайте HTTP-сервер
- Выполнение HTTP-запросов с помощью Node
- Модуль Node fs
- HTTP-запросы в Node с использованием Axios
- Чтение файлов с помощью Node
- Пути к файлам узлов
- Написание файлов с помощью Node
- Статистика файла узла
- Работа с файловыми дескрипторами в Node
- Работа с папками в Node
- Модуль пути к узлу
- Модуль Node http
- Использование WebSockets с Node.js
- Основы работы с MySQL и Node
- Обработка ошибок в Node.js
- Путеводитель по мопсу
- Как читать переменные среды из Node.js
- Как выйти из программы Node.js
- Модуль Node os
- Модуль событий узла
- Узел, разница между разработкой и производством
- Как проверить, существует ли файл в Node.js
- Как создать пустой файл в Node.js
- Как удалить файл с помощью Node.js
- Как получить дату последнего обновления файла с помощью Node.js
- Как определить, сегодня ли дата в JavaScript
- Как записать объект JSON в файл в Node.js
- Почему вам следует использовать Node.js в вашем следующем проекте?
- Запускайте веб-сервер из любой папки
- Как использовать MongoDB с Node.js
- Используйте Chrome DevTools для отладки приложения Node.js
- Что такое pnpm?
- Список параметров среды выполнения Node.js v8
- Как исправить ошибку «Отсутствует доступ для записи» при использовании npm
- Как включить модули ES в Node.js
- Как создать дочерний процесс с помощью Node.js
- Как получить в Express и разобранное, и необработанное тело
- Как обрабатывать загрузку файлов в Node.js
- Каковы одноранговые зависимости в модуле Node?
- Как написать файл CSV с помощью Node.js
- Как читать CSV-файл с помощью Node.js
- Модули ядра узла
- Увеличение номеров сразу нескольких папок с помощью Node.js
- Как распечатать холст по URL-адресу данных
- Как создать и сохранить изображение с помощью Node.js и Canvas
- Как скачать изображение с помощью Node.js
- Как массово переименовывать файлы в Node.js
- Как получить имена всех файлов в папке в Node
- Как использовать обещания и ожидания с функциями обратного вызова Node.js
- Как протестировать пакет npm локально
- Как проверить текущую версию Node.js во время выполнения
- Как использовать Sequelize для взаимодействия с PostgreSQL
- Обслуживайте HTML-страницу с помощью Node.js
- Как устранить ошибку `util.pump is not a function` в Node.js