Установите несколько версий 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 без использования пути. В конце концов, может быть, лучше выпросить права администратора.