Rukovodstvo
статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
NPM: установка определенной версии пакета
NPM или диспетчер пакетов узлов — это мощный инструмент, который позволяет легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель — помочь вам загрузить и установить пакеты Node из репозитория в ваш проект. Загрузка и установка пакета выполняется с помощью команды установки NPM: $ npm install express + express@4.17.1 добавил 50 пакетов от 37 участников и проверил 126 пакетов в 3.262s, обнаружено 0 уязвимостей При запуске установки
Время чтения: 2 мин.
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 .
Licensed under CC BY-NC-SA 4.0
Полезные команды для работы с Node.js
Перед тем как рассматривать полезные команды при работе с Node.js, её необходимо установить.
Команды помогают узнать версию Node.js,
node -h — показывает список всех доступных команд Node.js.
node -v , node —version — показывает установленную версию Node.js.

npm -h — показывает список всех доступных команд пакетного менеджера npm .

npm -v , npm —version — показывает установленную версию npm .

Команда npm update npm -g позволяет обновить версию npm .

npm list —depth=0 показывает список установленных пакетов.

Команда npm outdated —depth=0 покажет список установленных пакетов, которые требуют обновления. Если все пакеты обновлены, список будет пустым.
npm install package — позволяет установить любой пакет по его имени. Если при этом к команде добавить префикс -g пакет будет установлен глобально на весь компьютер.

Команда npm i package является укороченной альтернативой предыдущей команды.
Если вы хотите установить конкретную версию пакета, воспользуйтесь префиксом @ с номером версии. Например, npm install package@1.0.1 .
npm uninstall package — удаляет установленный пакет по имени.

Команда npm list package — покажет версию установленного пакета, а команда npm view package version — последнюю версию пакета, которая существует.
Для работы с пакетным менеджером также пригодится файл package.json , который должен лежать в директории, с которой происходит работа в консоли.

Он содержит различные мета-данные, например, имя проекта, версия, описания и автор. Также он содержит список зависимостей, которые будут установлены, если вызвать из этой папки команду npm install .
Кроме этого он ещё имеет скрипты, которые вызывают другие команды консоли. Например, для этого файла вызов команды npm start вызовет запуск задачи Grunt с именем dev . А команда npm run build вызовет скрипт build , который запустит задачу в Grunt с именем build .
Во время работы часто возникает необходимость установить некоторые пакеты. Если установить пакет с префиксом —save , то он автоматически запишется в package.json в раздел dependencies . Такая же команда с префиксом —save-dev запишет пакет в раздел devDependencies .
nvm (илиNode Version Manager) — утилита, которая позволяет быстро менять версии Node.js.
Чтобы её установить, достаточно запустить скрипт
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
Теперь можно установить последнюю версию Node.js, например, 5.0 с помощью команды nvm install 5.0 . Чтобы начать использовать её, введите команду nvm use 5.0 . Таким образом, можно быстро переключаться между версиями, например, для тестирования.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
NPM: установка определенной версии пакета
NPM или Node Package Manager — это мощный инструмент, который позволяет вам легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель — помочь вам загрузить и установить пакеты Node из своего репозитория в ваш проект.
Загрузка и установка пакета выполняется с помощью команды NPM install :
$ npm install express + express@4.17.1 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 express@4.16.1 + express@4.16.1 added 48 packages from 36 contributors and audited 121 packages in 2.986s found 0 vulnerabilities
Как видите, NPM установил указанный нами пакет.
С NPM у нас также есть другие варианты для указания версии пакета. Используя каретку ( ^ ) или тильду ( ~ ), мы можем указать последнюю минорную версию или версию патча соответственно. Таким образом, вы можете указать совместимую версию пакета, но все равно получите самую последнюю версию.
Так, например, если вы хотите использовать Express версию 4.16, но версия патча не важна, вы можете использовать тильду, чтобы сообщить NPM и получить последнюю версию патча:
$ npm install express@~4.16.1 + express@4.16.4 added 48 packages from 36 contributors and audited 121 packages in 3.02s found 0 vulnerabilities
Так как мы добавили префикс к версии ~ , NPM получил последнюю версию патча под второстепенной версией 4.16, которая оказалась 4.16.4.
Это хорошо, когда вам не нужна конкретная версия, но вы хотите постоянно обновлять свои зависимости с помощью последних исправлений и исправлений уязвимостей.
Управление пакетами npm в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
npm позволяет устанавливать пакеты для приложений Node.js и ASP.NET Core, а также управлять ими. Visual Studio позволяет легко взаимодействовать с npm и использовать команды npm через пользовательский интерфейс или напрямую. Если вы не знакомы с npm и хотите узнать больше, перейдите на страницу документации npm.
Интеграция Visual Studio с npm зависит от типа проекта.
- Проекты на основе CLI (.esproj)
- ASP.NET Core
- Открытие папки (Node.js)
- Node.js
- ASP.NET Core
- Открытие папки (Node.js)
npm ожидает найти папку node_modules и файл package.json в корневом каталоге проекта. Если структура папок вашего приложения отличается, ее можно изменить, чтобы управлять пакетами npm с помощью Visual Studio.
Проект на основе CLI (.esproj)
Начиная с Visual Studio 2022 диспетчер пакетов npm доступен для проектов на основе CLI, поэтому теперь можно скачать модули npm аналогично тому, как вы скачиваете пакеты NuGet для проектов ASP.NET Core. Затем можно изменять и удалять пакеты с помощью package.json.
Чтобы открыть диспетчер пакетов, в Обозревателе решений щелкните правой кнопкой узел npm в своем проекте.

Затем вы можете выполнить поиск пакетов npm, выбрать один из них и установить, выбрав команду Установить пакет.

Проекты Node.js
Для проектов Node.js (.njsproj-файлов) можно выполнять следующие задачи:
- Установка пакетов из обозревателя решений
- Управление установленными пакетами из обозревателя решений
- Использование команды .npm в интерактивном окне Node.js
Эти функции работают вместе и синхронизируются с системой проекта и файлом package.json в проекте.
Необходимые компоненты
Чтобы добавить поддержку NPM в проект, вам потребуется рабочая нагрузка разработки Node.js и установленная среда выполнения Node.js. Подробные инструкции см. в разделе Создание приложения Node.js и Express.
Чтобы включить npm в существующем проекте Node.js, используйте шаблон решения Из существующего кода Node.js или тип проекта Открыть папку (Node.js).
Установка пакетов из Обозреватель решений (Node.js)
Самый простой способ установить пакеты npm в проекты Node.js — через окно установки пакетов npm. Чтобы открыть это окно, щелкните правой кнопкой мыши узел npm в проекте и выберите пункт Установить новые пакеты npm.

В этом окне можно найти пакет, указать параметры и установить пакет.

- Тип зависимости — выберите Стандартный, Разработка или Необязательный. Вариант «Стандартный» означает, что пакет является зависимостью среды выполнения, а вариант «Разработка» указывает, что пакет необходим только во время разработки.
- Добавить в package.json — рекомендуется. Этот настраиваемый параметр является устаревшим.
- Выбранная версия — выберите версию пакета, который вы хотите установить.
- Другие аргументы npm — укажите другие стандартные аргументы npm. Вы можете указать значение версии, например @~0.8 , чтобы установить определенную версию, которая недоступна в списке версий.
Ход установки можно просмотреть в выходных данных npm в окне Вывод. Чтобы открыть окно, выберите Вид>Вывод или нажмите сочетание клавиш CTRL + ALT + O. Это может занять некоторое время.

Если вы хотите найти пакеты с заданной областью, добавьте в начало поискового запроса нужную область, например, введите @types/mocha , чтобы искать файлы определений TypeScript для mocha. Кроме того, при установке определений типов для TypeScript можно указать целевую версию TypeScript, указав версию, например @ts2.6 в поле аргумента npm.
Управление установленными пакетами из обозревателя решений (Node.js)
Пакеты npm отображаются в обозревателе решений. Записи в узле npm повторяют зависимости в файле package.json.

Состояние пакета
— установлено и указано в package.json
— установлено, но не указано явным образом в package.json
— Не установлен, но указан в package.json
Щелкните правой кнопкой мыши узел npm, чтобы выполнить одно из следующих действий:
- Установка новых пакетов NPM Открывает пользовательский интерфейс для установки новых пакетов.
- Установка пакетов NPM Запускает команду NPM install, чтобы установить все пакеты, перечисленные в package.json. (Запускаем npm install .)
- Изменить пакеты npm. Обновляет пакеты до последних версий в соответствии с диапазоном семантического управления версиями (SemVer), указанным в package.json. (Запускается npm update —save .). Диапазоны SemVer обычно задаются с помощью «~» или «^». Дополнительные сведения см. в разделе Конфигурация package.json.
Щелкните правой кнопкой мыши узел пакета или выполните одно из следующих действий:
- Установка пакетов NPM Запускает команду NPM install, чтобы установить версию пакетов, перечисленных в package.json. (Запускаем npm install .)
- Изменить пакеты npm. Обновляет пакеты до последних версий в соответствии с диапазоном SemVer, указанным в package.json. (Запуск npm update —save .) Диапазоны SemVer обычно задаются с помощью «~» или «^».
- Удалить пакеты NPM удалит пакет и удаляет его из package.json (Запускает npm uninstall —save .)
Сведения о решении проблем с пакетами npm см. в разделе устранение неполадок.
Использование команды .npm в интерактивном окне Node.js (Node.js)
Вы также можете использовать команду .npm в интерактивном окне Node.js для выполнения команды npm. Чтобы открыть окно, в Обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Открыть интерактивное окно Node.js (или нажмите сочетание клавиш CTRL + K, N).
В этом окне вы можете использовать следующие команды для установки пакета:
.npm install azure@4.2.3
По умолчанию npm будет выполняться в домашнем каталоге проекта. Если у вас несколько проектов в решении, укажите имя или путь к проекту в квадратных скобках. .npm [MyProjectNameOrPath] install azure@4.2.3
Если проект не содержит файл package.json, используйте .npm init -y , чтобы создать файл package.json со значениями по умолчанию.
Проекты ASP.NET Core
Поддержку npm можно интегрировать, например, в проекты ASP.NET Core, и использовать npm для установки пакетов.
- Добавление поддержки npm в проект
- Установка пакетов с помощью файла package.json
Для установки клиентских файлов JavaScript и CSS в проектах ASP.NET Core вместо npm можно также использовать диспетчер библиотек или yarn.
Добавление поддержки npm в проект (ASP.NET Core)
Если в проекте еще нет файла package.json, добавьте его, чтобы включить поддержку npm. Добавьте файл package.json в проект.

- Щелкните решение правой кнопкой мыши и выберите пункт «Управление пакетами NuGet». Найдите npm и выберите «Установить», чтобы установить npm.
- Чтобы добавить файл package.json, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Добавить>Новый элемент (или нажмите сочетание клавиш CTL + SHIFT + A). Используя поле поиска, найдите файл npm, выберите Файл конфигурации npm , оставьте имя по умолчанию и нажмите кнопку Добавить.
- Включите один или несколько пакетов npm в раздел dependencies или devDependencies файла package.json. Например, в файл можно добавить следующие пакеты:
"devDependencies": < "gulp": "4.0.2", "@types/jquery": "5.3.1" >
При сохранении файла Visual Studio добавляет пакет в узел Зависимости / npm в обозревателе решений. Если узел не отображается, щелкните правой кнопкой мыши файл package.json и выберите пункт Восстановить пакеты.
В некоторых сценариях Обозреватель решений могут не отображать правильное состояние установленных пакетов npm. Дополнительные сведения см. в разделе Устранение неполадок.
Установка пакетов с помощью файла package.json (ASP.NET Core)
В проектах, уже содержащих npm, можно настроить пакеты npm с помощью package.json . Откройте package.json напрямую или щелкните правой кнопкой мыши узел npm в Обозревателе решений и выберите Открыть файл package.json.

IntelliSense в package.json помогает выбрать конкретную версию пакета npm.

При сохранении файла Visual Studio добавляет пакет в узел Зависимости / npm в обозревателе решений. Если узел не отображается, щелкните правой кнопкой мыши файл package.json и выберите пункт Восстановить пакеты.
Установка пакета может занять несколько минут. Проверьте ход установки пакета, перейдя к выходным данным npm в окне вывода.

Устранение неполадок при работе с пакетами npm
- Для проектов Node. js необходимо установить рабочую нагрузку разработки Node. js для поддержки npm. Для npm требуется Node.js. Если Node.js не установлен, мы рекомендуем установить версию LTS с веб-сайта Node.js для обеспечения наилучшей совместимости с внешними платформами и библиотеками.
- В некоторых сценариях Обозреватель решений может не отображаться правильное состояние установленных пакетов npm из-за известной проблемы, описанной здесь. Например, пакет может отображаться как не установлен при его установке. В большинстве случаев обозреватель решений можно обновить, удалив файл package.json, перезапустив Visual Studio и повторно добавив файл package.json, как описано выше в этой статье. Или при установке пакетов можно использовать окно вывода npm для проверки состояния установки.
- В некоторых сценариях ASP.NET Core узел npm в Обозреватель решений может не отображаться после сборки проекта. Чтобы снова сделать узел видимым, щелкните правой кнопкой мыши узел проекта и выберите команду Выгрузить проект. Затем щелкните правой кнопкой мыши узел проекта и выберите команду Перезагрузить проект.
- При возникновении ошибок при создании приложения или транскомпиляции кода TypeScript проверьте известные несовместимости пакета NPM, возможно они стали причиной ошибок. Чтобы определить ошибки, проверьте окно вывода npm при установке пакетов, как описано выше в этой статье. Например, если одна или несколько версий пакета npm устарела и приводит к ошибке, может потребоваться установить более последнюю версию для устранения ошибок. Дополнительные сведения об использовании package.json для контроля версий пакетов npm см. в разделе Конфигурация package.json.