系统规格-
node version - v10.15.0
npm version - 6.4.1
aws-cli version - aws-cli/1.16.81 Python/3.6.0 Windows/10 botocore/1.12.71
sam-cli version - SAM CLI, version 0.41.0
Running on a windows machine.
因此,我有一个节点项目,该项目将部署到aws-sam
。我有sam-validate
,prepare
,package
的脚本。但是,当我通过npm run <package-name>
运行此脚本时,命令无法运行。例如,如果我运行npm run package
,则会得到以下内容-
aws --region <region-name> s3api head-bucket --bucket <bucket-name>
Command not run
Command executed in 0 msec
aws --region <<region-name>> cloudformation package --template-file template.yaml --s3-bucket <bucket-name> --output-template-file template-deploy.yaml
Command not run
Command executed in 0 msec
但是令人惊讶的是,如果我分别从powershell运行这些命令,那么它可以正常工作。这使我意识到脚本是可以的,因为当我单独运行它们时,生成的命令可以正常工作。
我检查了环境变量。所有的东西(节点路径,aws cli路径等)都在那里。
我在这里想念什么?简而言之,问题是-我需要做其他事情才能通过节点脚本运行aws-cli
或sam-cli
命令吗?
答案 0 :(得分:0)
我认为您的脚本可能有问题,
考虑像
一样在python中编写脚本2020-02-09T08:02:36.7187
然后您可以从python本身运行脚本,也可以
创建一个单独的调用python函数的节点应用程序
参考This
,然后使用import subprocesses
commandToBeExecutedOnShell='any command'
subprocess.check_call(commandToBeExecutedOnShell, shell=True)