Как установить Node Version Manager(NVM) без прав администратора
У меня нет прав администратора в моей машине Windows. Могу ли я установить NVM без прав администратора? Я попытался использовать путь установки переменной среды, но в моем случае это не работает.
5 ответов
У меня такая же потребность, и я не смог ее найти, поэтому я создал одну базу на другом простом nvm:
https://www.npmjs.com/package/@jchip/nvm
Требуется PowerShell 4+ и разрешение на выполнение сценариев.
(Вы говорите о https://github.com/coreybutler/nvm-windows верно?)
Если вы можете установить его без прав администратора, фактическое переключение версий узлов требует их, так что у вас будут проблемы.
Лучше всего вручную устанавливать разные версии узла на разные пути, а затем настраивать переменные среды так, чтобы они указывали на правильную, когда вам это нужно.
например. префикс вашего сценария cmd с PATH=C:\node\v10;%PATH%
чтобы любой узел или вызовы npm в этом скрипте использовали любой узел, который находится в v10
попробуй это
создайте bat-файл, как показано ниже
@cd C:\Users\testuser\AppData\Roaming\nvm
@SET PATH=C:\Users\testuser\AppData\Roaming\nvm\v14.21.1;%PATH%
cd c:\users\testuser\Desktop\Project
@cmd.exe /K
Запустите bat файл и введите
code .
Он открыт с помощью VSCode
перейдите в терминал и введите node, и вы увидите версию узла, которую вы установили в файле bat.
введите описание изображения здесь
Вы можете применить любую версию узла, как указано выше в файле bat.
Недостаток NVM заключается в том, что для перехода между версиями узла требуются права администратора. Если вы работаете в компании, получить его может быть сложно. Я советую скопировать папку NVM в любую папку, к которой у пользователя есть доступ. (В качестве альтернативы можно получить несколько версий Node для Windows из другого источника). Добавьте файл Profile.ps1 в указанное расположение.
C:\Users\<пользователь>\Documents\WindowsPowerShell\profile.ps1
Измените путь к каталогу, а затем вставьте эти строки в файл.
# $env:PATH += ";C:\Users\<пользователь>\Documents\nvm\v14.21.3"
$env:PATH += ";C:\Users\<пользователь>\Documents\nvm\v16.20.1"
# $env:PATH += ";C:\Users\<пользователь>\Documents\nvm\v18.17.0"
# $env:PATH += ";C:\Users\<пользователь>\Documents\nvm\v20.5.0"
После этого выполните строку, указанную ниже, в «PowerShell». Выполнение должно осуществляться только из каталога «C:\Users\<user>\Documents\WindowsPowerShell». Это для получения необходимых прав для запуска файла «profile.ps1».
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Этот файл действует как файл «.bashrc» в системах unix. Таким образом, он будет запускаться каждый раз, когда вы открываете PowerShell, и содержит версию узла без комментариев.
Если вы используете Git Bash в Windows, вы можете добавить это в свой bash.bashrc для переключения версий узлов:
export PATH=/c/path/to/node/dir:$PATH
Затем просто перезапустите терминал, чтобы получить обновленный PATH.
Он добавит к вашему пути желаемую версию узла. Я нашел единственный способ переопределить установленную версию узла, если у вас нет прав администратора на вашем компьютере.