Как отключить восстановление пакета 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 устарела.

Богатый N
источник
Есть ли постоянное решение? Я применил это, затем обновил 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 не настроен для его запуска?
Эшлин Аллен