Управление пакетами npm в Visual Studio

npm позволяет устанавливать пакеты для приложений Node.js и ASP.NET Core, а также управлять ими. Visual Studio позволяет легко взаимодействовать с npm и использовать команды npm через пользовательский интерфейс или напрямую. Если вы не знакомы с npm и хотите узнать больше, перейдите на страницу документации npm.

Интеграция Visual Studio с npm зависит от типа проекта.

Важно!

npm ожидает найти папку node_modules и файл package.json в корневом каталоге проекта. Если структура папок вашего приложения отличается, ее можно изменить, чтобы управлять пакетами npm с помощью Visual Studio.

Проект на основе CLI (.esproj)

Начиная с Visual Studio 2022 диспетчер пакетов npm доступен для проектов на основе CLI, поэтому теперь можно скачать модули npm аналогично тому, как вы скачиваете пакеты NuGet для проектов ASP.NET Core. Затем можно изменять и удалять пакеты с помощью package.json.

Чтобы открыть диспетчер пакетов, в Обозревателе решений щелкните правой кнопкой узел npm в своем проекте.

Open package manager from Solution Explorer

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

Install new npm package for esproj

Проекты Node.js

Для проектов Node.js (.njsproj-файлов) можно выполнять следующие задачи:

Эти функции работают вместе и синхронизируются с системой проекта и файлом 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.

Install new npm package for Node.js

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

Screenshot of the Install New npm Packages dialog.

  • Тип зависимости — выберите Стандартный, Разработка или Необязательный. Вариант "Стандартный" означает, что пакет является зависимостью среды выполнения, а вариант "Разработка" указывает, что пакет необходим только во время разработки.
  • Добавить в package.json — рекомендуется. Этот настраиваемый параметр является устаревшим.
  • Выбранная версия — выберите версию пакета, который вы хотите установить.
  • Другие аргументы npm — укажите другие стандартные аргументы npm. Вы можете указать значение версии, например @~0.8, чтобы установить определенную версию, которая недоступна в списке версий.

Ход установки можно просмотреть в выходных данных npm в окне Вывод. Чтобы открыть окно, выберите Вид>Вывод или нажмите сочетание клавиш CTRL + ALT + O. Это может занять некоторое время.

npm output

Совет

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

Управление установленными пакетами из обозревателя решений (Node.js)

Пакеты npm отображаются в обозревателе решений. Записи в узле npm повторяют зависимости в файле package.json.

Screenshot of the npm node in Solution Explorer showing the installation status of the npm packages.

Состояние пакета

  • Installed package — Установлено и указано в package.json
  • Extraneous package — установлено, но не явно указано в package.json
  • Missing package — Не установлен, но указан в 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

Для таких проектов, как ASP.NET Core, можно добавить в проект поддержку npm и использовать npm для установки пакетов.

Примечание.

Для установки клиентских файлов JavaScript и CSS в проектах ASP.NET Core вместо npm можно также использовать диспетчер библиотек или yarn. Один из этих вариантов может потребоваться, если требуется интеграция с MSBuild или dotnet CLI для управления пакетами, которая не предоставляется npm.

Если в проекте еще нет файла package.json, добавьте его, чтобы включить поддержку npm. Добавьте файл package.json в проект.

  1. Чтобы добавить файл package.json, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Добавить>Новый элемент (или нажмите сочетание клавиш CTL + SHIFT + A). Используя поле поиска, найдите файл npm, выберите Файл конфигурации npm , оставьте имя по умолчанию и нажмите кнопку Добавить.

  2. Включите один или несколько пакетов npm в раздел dependencies или devDependencies файла package.json. Например, в файл можно добавить следующие пакеты:

    "devDependencies": {
       "gulp": "4.0.2",
       "@types/jquery": "3.5.29"
    }
    

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

    С помощью package.jsonпакетов npm можно настроить . Откройте package.json напрямую или щелкните правой кнопкой мыши узел npm в Обозревателе решений и выберите Открыть файл package.json.

Устранение неполадок при работе с пакетами npm

  • При возникновении ошибок при создании приложения или транскомпиляции кода TypeScript проверьте известные несовместимости пакета NPM, возможно они стали причиной ошибок. Чтобы определить ошибки, проверьте окно вывода npm при установке пакетов, как описано выше в этой статье. Например, если одна или несколько версий пакета npm устарела и приводит к ошибке, может потребоваться установить более последнюю версию для устранения ошибок. Дополнительные сведения об использовании package.json для контроля версий пакетов npm см. в разделе Конфигурация package.json.

  • В некоторых сценариях ASP.NET Core Обозреватель решений могут не отображать правильное состояние установленных пакетов npm из-за известной проблемы, описанной здесь. Например, пакет может отображаться как не установлен при его установке. В большинстве случаев обозреватель решений можно обновить, удалив файл package.json, перезапустив Visual Studio и повторно добавив файл package.json, как описано выше в этой статье. Или при установке пакетов можно использовать окно вывода npm для проверки состояния установки.

  • В некоторых сценариях ASP.NET Core узел npm в Обозреватель решений может не отображаться после сборки проекта. Чтобы снова сделать узел видимым, щелкните правой кнопкой мыши узел проекта и выберите команду Выгрузить проект. Затем щелкните правой кнопкой мыши узел проекта и выберите команду Перезагрузить проект.

  • Для проектов Node. js необходимо установить рабочую нагрузку разработки Node. js для поддержки npm. Для npm требуется Node.js. Если Node.js не установлен, мы рекомендуем установить версию LTS с веб-сайта Node.js для обеспечения наилучшей совместимости с внешними платформами и библиотеками.