У меня есть экземпляр Windows Elastic Beanstalk. У меня есть commands.config
в моем проекте .ebextensions
commands:
00-install-choco:
command: |
powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))"
01-set-choco-path:
command: |
SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
Эти две команды работают. Тем не менее, у меня также есть файл container-commands.config
, который должен вызывать choco
, но он продолжает отказывать из-за 'choco' is not recognized as an internal or external command
container_commands:
01-install nssm:
command: |
choco install nssm -y
Как получить последующие команды для получения обновленного PATH
? Есть ли более подходящий подход к установке двоичных файлов и установке для них значения PATH
в Windows при создании экземпляра ESB?
Я пытался следовать https://aws.amazon.com/blogs/developer/using-nuget-and-chocolatey-package-managers-in-aws-cloudformation-and-aws-elastic-beanstalk/
files:
c:/tools/ewmp.cmd:
content: |
@ECHO OFF
FOR /F "tokens=3,*" %%a IN ('REG QUERY "HKLMSystemCurrentControlSetControlSession ManagerEnvironment" /v PATH') DO PATH %%a%%b
%*
commands:
01-install-choco:
command: powershell -NoProfile -ExecutionPolicy unrestricted -Command "Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
waitAfterCompletion: 0
02-install-nssm:
command: c:/tools/ewmp choco install nssm -y
waitAfterCompletion: 0
Но даже это дает мне похожие ошибки.
-----------------------Command Output-----------------------
ERROR: Invalid key name.
Type "REG QUERY /?" for usage.
'choco' is not recognized as an internal or external command,
operable program or batch file.
------------------------------------------------------------