На SO есть несколько вопросов по этому поводу, но ни один из них не смог решить мою проблему. Существует проект под названием NVM для Windows https://github.com/coreybutler/nvm-windows который решает эту проблему путем переключения между несколькими узлами js. Чтобы использовать его, нам нужна командная строка с повышенными правами (права администратора), но у меня есть корпоративный ноутбук, и у меня нет прав администратора, и они не дадут мне права администратора в cmd, потому что тогда пользователь сможет делать что угодно. Мне приходится работать над тремя разными проектами angular с разными версиями angular cli и разными узлами.





Вы можете загрузить и разархивировать различные версии узлов в своем домашнем каталоге (%USERPROFILE%). Затем вам просто нужно обновить переменную PATH, чтобы она указывала на правильный каталог. Чтобы было проще в Windows, добавьте файлы в корень каждого проекта:
set PATH=%USERPROFILE%\you-nodejs-path;%PATH%
npm run start
set PATH=%USERPROFILE%\you-nodejs-path;%PATH%
npm install
И так далее. Я установлю зависимости в правильные каталоги, это каким-то образом делает nvm.
Поэтому я придумал собственное решение этой проблемы, потому что ни одно из существующих сообщений в блоге и вопросов SO мне не помогло. Я думаю, что это решение даже лучше, чем любой существующий сторонний пакет, поскольку вы не зависите от какого-либо стороннего установщика или сценария, и его чрезвычайно легко реализовать.
Сначала перейдите по адресу https://nodejs.org/en/download/package-manager и загрузите готовые двоичные файлы нужной версии узла.
После этого перейдите в C:\Users<имя-пользователя>\Documents\ и создайте папку nvm(любое имя). Извлеките содержимое загруженного zip-файла в эту папку. Будет создана папка «node-v20.13.1-win-x64» (имя версии загруженного узла). В этой папке у вас будут все файлы, необходимые для запуска node.
После этого создайте файл сценария PowerShell с именем «node-profile.ps1» и вставьте в него следующую команду.
#$env:PATH = 'C:\Users\<user-name>\Documents\nvm\node-v22.1.0'
$env:PATH = 'C:\Users\<user-name>\Documents\nvm\node-v20.13.1'
путь, начинающийся со знака #, представляет собой закомментированный код. Вы можете ввести столько путей, сколько хотите, при условии, что вы загрузили много версий узла в одно и то же место. Это будет выглядеть примерно так.
После этого откройте проект в коде Visual Studio (или в предпочитаемом вами редакторе) и в терминале запустите этот файл node-profile.ps1 вот так
C:\Users\<user-name>\Documents\nvm\node-profile.ps1
Теперь для этого терминала временно (пока вы его не закроете) вашей версией узла будет та, которую вы установили в файле node-profile.ps1, то есть версия 20.13.1 для этого примера. Вы можете проверить версию, набрав команду node -v, и она выдаст вам ту, которую вы только что установили.
Для второго проекта откройте его в другом редакторе кода и установите желаемую версию узла в этом терминале, раскомментировав нужный путь в файле node-profile.ps1 и прокомментировав остальные, и для этого терминала у вас будет другая версия узла.
Теперь вы можете запустить любой проект Angular, поддерживаемый этой версией. С помощью этого метода вы даже можете запускать устаревшие проекты Angular.
Прелесть этого метода в том, что с его помощью вы можете использовать несколько версий узлов одновременно, я имею в виду действительно одновременно.
В NVM для Windows, когда вы переключаетесь между версиями, они устанавливаются глобально, т. е. в каждом терминале вы получаете одну и ту же версию узла, поэтому запуск нескольких проектов с разной зависимостью от версии узла является проблемой.
Надеюсь это поможет.