Оновіть версію вузла у Visual Studio 2017


91

Хтось знає про санкціонований спосіб оновлення Node в Visual Studio 2017? На моєму ПК-розробнику встановлено Node 6, але, схоже, VS2017 постачається з пакетною копією Node 5, що означає, що запуск npm installу моєму командному рядку встановлює різні пакети, наприклад, node-sassз прив’язками до Node 6, тому, коли я запускаю gulp Завдання з VS Task Runner все падають через невідповідні версії.

Я знайшов установку VS Node на, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\Externalале я трохи не хочу просто хакерствувати і замінювати його. Хто-небудь мав досвід оновлення цього? Я знаю, що можу синхронізувати, понизивши версію на своєму ПК, але це здається зворотним.


1
Найкращий результат Google для "версії візуальної студії", схоже, може зробити трюк: ryanhayes.net/…
Джо Клей,

2
@JoeClay, це для VS2015, у VS2017 все змінилося. Я вже пробував Google ...
Генрі Вілсон,

3
Ах, я щойно відкрив VS, опція зрушилася ...
Джо Клей

Цей github.com/aspnet/JavaScriptServices/issues/1686 також пов'язаний, що означає, що розташування nodejs повинно бути присутнім у змінній Path системи.
Атік Рахман,

Відповіді:


159

Йти до:

Інструменти> Параметри> Проекти та рішення> Управління веб-пакетами> Зовнішні веб-інструменти

Потім вам потрібно додати каталог встановлення Node до початку списку, наприклад:

скріншот


Не впевнений, що це робить, оскільки він нічого не оновлював.
drewid

34
В якості альтернативи, яка працювала для мене, просто підніміть $ (PATH), щоб він замінив Web \ External directory (якщо припустимо, що вузол встановлений у вашому середовищі)
Поблажливість

Моя працювала, виконуючи те, що вказано у відповіді. Однак це випадок трапляється вдруге, вперше його вирішено за допомогою коментаря @ Leniency. :)
Імдад,

1
"supercedes" або, можливо, "
поперед

@Leniency це дало мені задоволення - розширення вузла (NPM Task Runner від Mads) використовувало іншу (VS) версію вузла і не вдалося - спасибі!
Michael Harper

52

Вам не потрібно додавати новий каталог встановлення Node, Node існує в PATH. Зверніть увагу, як $ (PATH) знаходиться нижче внутрішнього шляху $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External .

Щоб використовувати глобальну змінну середовища PATH перед внутрішнім шляхом, ви можете просто використовувати стрілки вгорі праворуч, щоб змінити порядок.

Ось так це виглядає, коли глобальний PATH шукається перед внутрішнім, і тому змусить Visual Studio використовувати власні версії інструментів. введіть тут опис зображення


Дякую. Це чудово працювало, і я віддаю перевагу йому, аніж додаванню каталогу nodejs.
Тім Тернер

Це спрацювало для мене. Деякий пакет опинився перед "$ (PATH)", але коли я перемістив "$ (PATH)" вгору під ". \ Node_modules \ .bin 'ковток знову почав працювати, і я повернув свої значки веб-додатків :)
Філ

0

Для мене проблема виявилася в тому, що node.exeв тому ж каталозі, в якому csprojзнаходився файл, був локальний файл , а також node.exe.configфайл.

У мене була подія після збірки, яка gulpвимагала б виконати якусь іншу роботу, і VS2017 використовував би локальний node.exeфайл, а не те, що було вказано в моїй $(PATH)змінній. Це була більш рання версія вузла, яку я не хотів використовувати, тому рішенням для мене було або видалити локальний, node.exeщоб використовувався той, що вказаний у $(PATH), або оновити локальний node.exeфайл, якщо node.exe.configвін справді потрібний.

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


0

Виглядає так, ніби варіанти в

Інструменти> Параметри> Проекти та рішення> Управління веб-пакетами> Зовнішні веб-інструменти

не мають ефекту. Однак можна встановити версію Node через

Проект> Властивості

Проект> скріншот властивостей

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.