Как отключить восстановление пакета NPM в Visual Studio 2015?


82

Когда я открываю проект с package.json в Visual Studio 2015, автоматически запускается установка npm, и VS не отвечает, пока установка не будет завершена.

Я бы предпочел запускать npm install из командной строки; как я могу остановить Visual Studio от этого?

Ответы:


76

Если вы обновляетесь до Visual Studio 2017 (подойдет бесплатная версия Community Edition), тогда команда VS добавила возможность останавливать запуск npm при открытии проекта. Он находится в разделе Инструменты / Параметры / Проекты и решения / Управление веб-пакетами / Восстановление пакета. Вы можете отключить восстановление NPM (и Bower) в Project Open и в package.json Save отдельно.

Также обратите внимание, что для типов проектов node.js (NTVS) в настоящее время в VS2017 полностью отключено только автоматическое восстановление пакетов.

Изменить: приведенный выше ответ также относится к Visual Studio 2019. Параметры меню находятся в том же месте, хотя поддержка Bower устарела.


Есть ли постоянное решение? Я применил это, затем обновил VS2019 и бум, снова включил NPM
amartin1911

78

Попробуй это:

  • Откройте Инструменты -> Параметры
  • Выберите проекты и решения / внешние веб-инструменты
  • Снимите отметку со всех четырех путей
  • Нажмите ОК

Не похоже, что закрывать решение и т. Д. Необходимо. Функциональность NPM и Bower теперь отключена в VS, но будет нормально работать в командной строке (при условии, что вы глобально установили npm, bower и т. Д.). В окне вывода могут появляться сообщения об ошибках, но не ошибки сборки или предупреждения.

Чтобы восстановить нормальную работу, вернитесь во Внешние веб-инструменты и нажмите «Восстановить настройки по умолчанию» в правом нижнем углу.
Я не пробовал это с публикацией - вам, возможно, придется восстановить значения по умолчанию для успешной публикации, попробуйте, если вы столкнетесь с ошибками в этот момент.


1
Хотя я получаю некоторые ошибки в выводе, например, Task Runner Explorer не находит Gulp и т. Д., Я думаю, это ожидаемо. Это определенно помогает, спасибо :)
Гейр Сагберг

28
Довольно смешно, что вы не можете отключить эту опцию. :(
Шон Андерсон

4
+1 VS работает достаточно медленно без интеграции git и npm. Лучше использовать VS Code / Sublime / Webstorm для проектов, связанных с JS.
cchamberlain

1
Использование VS Community 2017 15.5.6. Это на самом деле работает, но я сделал придется перезапустить Visual Studio, чтобы сделать его остановить восстановление НПМ пакетов.
rsenna

Есть ли постоянное решение? Я применил это, затем обновил VS2019 и бум, снова включил NPM
amartin1911

4

В обновлении 2 Visual Studio 2015 эта проблема устранена! Установите Обновление 2, и все будет в порядке.

Прямая загрузка: http://go.microsoft.com/fwlink/?LinkId=691129
Примечания к выпуску обновления 2: https://www.visualstudio.com/news/releasenotes/vs2015-update2-vs

Изменить : « фиксированный » может быть не совсем точным и не может быть полностью исправлен для всех пользователей. Может быть, мы сможем определить, что переживают все. Чтобы уточнить, мой опыт был следующим:

  • До обновления 2 VS запускала npm install каждый раз, когда я открывал .sln, с чем было очень трудно справиться.
  • После обновления 2 VS запускает npm install в определенных сценариях, что приемлемо (по моему опыту).

По моему опыту, VS после патча после открытия .sln запускает npm install, если какая-либо из зависимостей в package.json отсутствует в папке node_modules (или если сама папка отсутствует).

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


Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - Из отзыва
Алессандро Каттин,

1
Ссылка не содержит ответа, она предназначена только для загрузки обновления программного обеспечения. Я изменил ссылку на ссылку непосредственно на загрузку, а не на примечания к обновлению. Это приемлемо?
Эшлин Аллен

2
Я бы не назвал это исправленным, они сделали экран менее подверженным блокировке или сбоям, но если вы вручную разберетесь с npm, он вступит в борьбу с автоматическим восстановлением vs, и все еще нет возможности отключить его afaik .
npjohns

У меня есть Visual Studio 2015 Update 2, и он все еще пытается запустить npm install и gulp. Я не уверен, что это решит проблему.
Джейми МакКринл

Я отредактировал свой ответ, вы также видите, что он запускает npm install в конкретном сценарии, который я упоминаю, или он выполняется в другое время? Что касается Gulp, я попытаюсь вникнуть в это ... моя текущая установка использует Webpack, а VS запускает Webpack только в том случае, если у меня для этого настроен Task Runner Explorer. VS запускает Gulp, даже если TRE не настроен для его запуска?
Эшлин Аллен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.