Как установить Node.js с Windows PowerShell PackageManager (OneGet)?

Я старался Install-Package nodejs, который, кажется, что-то сделал:

PS C:\WINDOWS\system32> Install-Package nodejs

The package(s) come(s) from a package source that is not marked as trusted.
Are you sure you want to install software from 'chocolatey'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y

Name                           Version          Source           Summary
----                           -------          ------           -------
nodejs.install                 11.10.0          chocolatey       Node JS - Evented I/O for v8 JavaScript.
nodejs                         11.10.0          chocolatey       Node JS - Evented I/O for v8 JavaScript.

Затем, когда я пытаюсь запустить node команда, это терпит неудачу:

PS C:\WINDOWS\system32> node
node : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ node
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (node:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Как мне сделать это правильно с PackageManager, так что команда тогда доступна?

Не уверены, связан ли этот другой вопрос: пакеты Chocolaty не устанавливаются через OneGet/PackageManagement в Windows 10?

Как показывает другой вопрос, я попытался установить Set-ExecutionPolicy Unrestricted, удаление и переустановка nodejs, но результат тот же.

Я вижу, что после установки существуют следующие файлы:

C:\Chocolatey\lib\nodejs.11.10.0\nodejs.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\legal\LICENSE.txt
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\legal\VERIFICATION.txt
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\chocolateyInstall.ps1
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\node-v11.10.0-x64.msi
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\node-v11.10.0-x86.msi

что заставляет меня думать, что, возможно, он ожидает, что я запустит установщик вручную после?

Моя цель - просто установить все, что мне нужно, на новый компьютер с Windows из скрипта, без необходимости загружать / устанавливать их все вручную с помощью графического интерфейса.

5 ответов

Это сработало для меня:

      winget install nodejs

Я смог воспроизвести это, но также смог решить эту проблему. Проблема в том, что исполняемый файл отсутствует в PATH после установки с помощью. Однако в этом есть некоторый смысл, поскольку текущий процесс PowerShell не улавливает внешние изменения переменных среды, пока он не будет перезапущен.

Команда Шоколадки работает иногда, но не всегда, и после установки nodejs с участием Install-Package, refreshenvне удалось обновить переменную PATH. Что действительно работало, так это запуск нового сеанса PowerShell и запуск node команда, которая успешно запустила исполняемый файл:

      > node

Welcome to Node.js v16.7.0.
Type ".help" for more information.
> 

может иногда маскировать это, но обычно Chocolatey не создает прокладки для исполняемых файлов, размещаемых установщиками EXE или MSI (если сопровождающий пакета не создает их принудительно).


Кроме того, не используйте поставщика Chocolatey OneGet в реальной автоматизации; он еще не стабилен и, похоже, на момент написания статьи в нем не было никаких разработок уже пять лет . От README.md:

ПРИМЕЧАНИЕ. Ищу специалистов по сопровождению, которые помогут завершить работу с этим поставщиком. Пожалуйста, задавайте вопросы по списку проблем или в Gitter (см. Чат ниже). Спасибо!

Альтернатива указана в том же README:

ПРИМЕЧАНИЕ. На данный момент вы можете быть более заинтересованы в использовании поставщика ChocolateyGet в качестве временного решения, пока этот поставщик не будет готов. См https://github.com/jianyunt/ChocolateyGet подробности

Я попробовал это, и, похоже, это сработало, но я все равно рекомендую использовать официальный choco.exeдвоичный. Его легко установить, и вы получите лучшую поддержку при его использовании. Это также говорит о том, что решения для управления конфигурацией (например, Chef's chocolatey_package ресурс) продолжают использовать двоичные файлы и обычно перечисляют установку клиента как предварительное условие, даже если технически PackageManagement вместо этого модуль можно было бы использовать как родное решение.

Попробуйте использовать эту команду на своем PowerShell:

      npm install -g npm

Для получения дополнительной информации обратитесь к этому URL-адресу:
https://www.webdevtutor.net/error-solutions/npm-the-term-npm-is-not-recounced-as-the-name-of-a-cmdlet-function- файл-скрипта или действующая-программа

У меня была такая же проблема. Попробуйте запустить: node.exe

Я смог воспроизвести это, но также смог решить эту проблему. Проблема в том, что исполняемый файл отсутствует в PATH после установки с помощью. Однако в этом есть некоторый смысл, поскольку текущий процесс PowerShell не улавливает внешние изменения переменных среды, пока он не будет перезапущен.

Команда Шоколадки работает иногда, но не всегда, и после установки nodejs с участием Install-Package, refreshenvне удалось обновить переменную PATH. Что действительно работало, так это запуск нового сеанса PowerShell и запуск node команда, которая успешно запустила исполняемый файл:

      > node

Welcome to Node.js v16.7.0.
Type ".help" for more information.
> 

может иногда маскировать это, но обычно Chocolatey не создает прокладки для исполняемых файлов, размещаемых установщиками EXE или MSI (если сопровождающий пакета не создает их принудительно).


Кроме того, не используйте поставщика Chocolatey OneGet в реальной автоматизации; он еще не стабилен и, похоже, на момент написания статьи в нем не было никаких разработок уже пять лет . От README.md:

ПРИМЕЧАНИЕ. Ищу специалистов по сопровождению, которые помогут завершить работу с этим поставщиком. Пожалуйста, задавайте вопросы по списку проблем или в Gitter (см. Чат ниже). Спасибо!

Альтернатива указана в том же README:

ПРИМЕЧАНИЕ. На данный момент вы можете быть более заинтересованы в использовании поставщика ChocolateyGet в качестве временного решения, пока этот поставщик не будет готов. См https://github.com/jianyunt/ChocolateyGet подробности

Я попробовал это, и, похоже, это сработало, но я все равно рекомендую использовать официальный choco.exeдвоичный. Его легко установить, и вы получите лучшую поддержку при его использовании. Это также говорит о том, что решения для управления конфигурацией (например, Chef's chocolatey_package ресурс) продолжают использовать двоичные файлы и обычно перечисляют установку клиента как предварительное условие, даже если технически PackageManagement вместо этого модуль можно было бы использовать как родное решение.

Другие вопросы по тегам