Як можна відключити відновлення пакета NPM у Visual Studio 2015?


82

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

Я б набагато віддав перевагу запуску npm install себе з командного рядка; як я можу перешкодити Visual Studio робити це?

Відповіді:


76

Якщо ви оновитесь до Visual Studio 2017 (безкоштовне «Видання спільноти» добре), команда VS додала можливість зупинити роботу npm під час відкриття проекту. Це в розділі Інструменти / Параметри / Проекти та рішення / Управління веб-пакетами / Відновлення пакунків. Ви можете вимкнути відновлення NPM (і Bower) у Project Open та на package.json Зберігати окремо.

Також зауважте, що для типів проектів node.js (NTVS) в даний час у VS2017 повністю вимкнено лише поведінку автоматичного відновлення пакета.

Змінити: наведена вище відповідь також стосується Visual Studio 2019. Параметри меню знаходяться там же, хоча підтримка Bower застаріла.


Чи існує постійне рішення? Я застосував це, потім модернізував VS2019 і бум, NPM знову ввімкнувся
amartin1911,

78

Спробуйте це:

  • Відкрийте Інструменти -> Параметри
  • Виберіть Проекти та рішення / Зовнішні веб-інструменти
  • Зніміть усі чотири шляхи
  • Клацніть OK

Здається, що закриття рішення тощо не є необхідним. Функціональність NPM та Bower тепер відключена у VS, але буде працювати нормально в командному рядку (за умови, що ви встановили глобально npm, bower тощо). У вікні виводу можуть з’являтися деякі повідомлення про помилки, але помилок збірки та попереджень немає.

Щоб відновити нормальну роботу, поверніться до Зовнішніх веб-інструментів і натисніть "Скинути за замовчуванням" внизу праворуч.
Я не пробував це за допомогою Publish - можливо, вам доведеться відновити налаштування за замовчуванням, щоб успішно опублікувати, спробуйте, якщо в цей момент у вас виникнуть помилки.


1
Хоча я отримую деякі помилки у вихідних даних, наприклад, Провідник завдань не знаходить Gulp тощо, я думаю, це очікується. Це, безумовно, робить трюк, дякую :)
Гейр Сагберг

28
Дуже смішно, що ви не можете вимкнути цю опцію. :(
Шон Андерсон

4
+1 VS досить повільний без інтеграції git та npm. Краще використовувати код VS / Sublime / Webstorm для проектів, пов'язаних з JS.
камерлен

1
Використання VS Community 2017 15.5.6. Це на самому ділі працює, але я зробив доведеться перезапустити Visual Studio, щоб зробити його зупинити відновлення НПМ пакетів.
rsenna

Чи існує постійне рішення? Я застосував це, потім модернізував VS2019 і бум, NPM знову ввімкнувся
amartin1911

4

Visual Studio 2015 оновлення 2 вирішило цю проблему! Встановіть оновлення 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 запускає `` установку в хвилину '', що є допустимим (з мого досвіду.)

З мого досвіду, VS після виправлення після запуску .sln запустить 'npm install', якщо в папці node_modules відсутня будь-яка залежність у package.json (або якщо відсутня сама папка).

Ви не можете відключити `` встановлення npm '', тому `` виправлено '' може бути не зовсім коректним - однак, він не робить цього при кожному запуску, як раніше, тому я вважаю це виграшем. Чи можуть люди підтвердити, що це така поведінка, чи ми маємо різну поведінку?


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

1
Посилання не містить відповіді, воно є лише для завантаження оновлення програмного забезпечення. Я змінив посилання на посилання безпосередньо на завантаження, замість приміток про оновлення. Це прийнятно?
Ешлін Аллен,

2
Я б не називав це виправленим, вони зробили екран менш імовірним, що він заблокується або вийде з ладу, але якщо ви впораєтеся вручну з npm, він вступить у бійки з автоматичним відновленням проти, і все ще немає можливості його вимкнути .
npjohns,

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

Я відредагував свою відповідь. Ви також бачите, як він запускає "npm install" у конкретному сценарії, про який я згадую, або він працює інший раз? Що стосується Gulp, я спробую розібратися в цьому ... моє поточне налаштування використовує Webpack, а VS запускає Webpack лише в тому випадку, якщо для цього налаштований Провідник запуску завдань. VS працює Gulp навіть без налаштування TRE для його запуску?
Ешлін Аллен,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.