Установите несколько версий Node.js в Windows без использования NVM для Windows

Мне не удалось найти никаких вопросов / ответов о том, как установить две версии Node.js (например, v10 и v14) на один компьютер без использования NVM. Я не могу использовать windows-nvm, потому что для этого требуются права администратора, и я работаю на корпоративном ноутбуке как стандартный пользователь.

Мне нужно установить несколько разных версий Node.js, потому что разные проекты одной и той же компании по необходимости используют разные версии Node.js.

Это единственный способ удалять установленную версию и каждый раз устанавливать новую версию? Есть ли способ получить v10 в C: \ Program Files \ node10 и v14 в C: \ Program Files \ node14 ?

Чтобы было ясно, администраторы готовы предоставить мне определенные привилегии или установить любое программное обеспечение, необходимое для того, чтобы это работало. Мы пробовали использовать что-то под названием RunAsTool, чтобы попытаться разрешить мне запускать NVM от имени администратора, но это не работает из-за его ограничений.

Другой вариант - предоставить мне права администратора для любых файлов и каталогов, необходимых для работы NVM, но я не могу найти список этих файлов / папок.

Третий вариант - просто установить две разные версии, но при установке новой версии предыдущая версия удаляется, даже если она установлена ​​по необычному пути, например C:\Program Files\node16.

2 ответа

Я думаю, что нет простого способа сделать это. В общем, вам нужны две вещи, чтобы узел работал в Windows: папка nodejs с исполняемым файлом в ней, по умолчанию c:\Program Files\nodejs, и путь к ней, который должен быть в системном пути перед любыми другими путями узла.

К сожалению, для записи в c:\Program Files и изменения системного пути требуются права администратора.

Тем не менее, есть несколько неуклюжий обходной путь. Общая идея состоит в том, чтобы поместить папку nodejs туда, где у вас есть доступ для записи, указать системный путь к ней, и она должна работать. Затем вы можете переключать версии без прав администратора, заменив папку. Сделать это:

  • С помощью администратора установите первую версию, которую хотите использовать. Скопируйте папку c:\Program Files\nodejs куда-нибудь, откуда она не будет удалена при новой установке: скажем, c:\nodejsbackups\v10\nodejs, если это версия 10.
  • Установите вторую версию, которую хотите использовать, и скопируйте файл nodejs в то же место, скажем, c:\nodejsbackups\v14\nodejs.
  • Также скопируйте его в то место, откуда вы будете его запускать и где у вас есть доступ для записи, скажем, c:\nodejs, если у вас есть доступ для записи на диске c:, или ваш профиль пользователя, если нет.
  • По- прежнему имея права администратора, отредактируйте системную переменную среды Path (НЕ путь пользователя). Найдите запись в c:\Program Files\nodejs и удалите ее. Добавьте запись для c:\nodejs. Или просто отредактируйте его.
  • Я обнаружил, что для того, чтобы приложения узла Visual Studio работали, мне также пришлось удалить исходный узел с помощью Панели управления/Программы и компоненты.

Теперь запустите командную строку и выполните node --versionа также npm --versionи вы должны увидеть, что вторая версия работает.

Чтобы переключить версии, без администратора удалите c:\nodejs, а затем скопируйте туда первую версию из c:\nodejsbackups\v10\nodejs. Перезапустите командную строку , введите те же команды, и вы увидите, что первая версия теперь работает.

Кажется, это работает при некоторых очень ограниченных тестах, но я думаю, вам нужно проверить, все ли работает для ваших вариантов использования. Могут быть такие программы, как Visual Studio, которые предполагают, что узел находится в c:\Program Files без использования пути. В конце концов, может быть, лучше выпросить права администратора.

  1. Установить здесь:

  1. Удалить %NVM_HOME% и %NVM_SYMLINK%
  2. Добавить относительный путь

  1. Наслаждаться :)
Другие вопросы по тегам