未知或重复参数:NodeCommand

Luk*_*ger 16 amazon-web-services amazon-elastic-beanstalk

我正在尝试使用 Elastic beanstalk 部署 Node.js API。

我想设置节点命令来启动应用程序。

这是我的 nodecommand.config:

option_settings:
  aws:elasticbeanstalk:container:nodejs:
    NodeCommand: "npm start"
Run Code Online (Sandbox Code Playgroud)

这是我的文件结构: 在此处输入图片说明

每当我尝试运行时eb deploy,都会收到此错误:

2020-05-13 19:03:44    INFO    Environment update is starting.      
2020-05-13 19:03:48    ERROR   "option_settings" in one of the configuration files failed validation. More details to follow.
2020-05-13 19:03:48    ERROR   Unknown or duplicate parameter: NodeCommand 
2020-05-13 19:03:48    ERROR   Failed to deploy application.        

ERROR: ServiceError - Failed to deploy application.
Run Code Online (Sandbox Code Playgroud)

Cor*_*eau 46

我刚刚遇到了同样的问题。经过调查,我发现“NodeCommand”是使用自定义命令运行应用程序的传统方式。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html

我删除了“.ebextensions”目录,并在我的源目录中添加了一个名为“Procfile”的文件。

在 Procfile 中,尝试输入以下内容:

web: npm start
Run Code Online (Sandbox Code Playgroud)

在尝试部署之前,请确保在必要时使用这些更改更新您的存储库。

希望这可以帮助!

  • 这有效。那么 [此文档](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html) 不应该更新吗? (17认同)
  • 两年过去了,AWS 文档仍然在误导人们 (7认同)
  • 我通过删除 .ebextensions 目录解决了这个问题。我也没有创建 Procfile 目录。当您不提供 Procfile 时,如果您提供 package.json 文件,ElasticBeanstalk 将运行“npm start”。上面的[链接](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html)将提供一些见解。 (5认同)

ata*_*min 5

我使用 Procfile 来部署应用程序

在 Procfile 中

web: npm run deploy
Run Code Online (Sandbox Code Playgroud)

在 package.json 中,添加了新命令 deploy

 "scripts": {
    "deploy": "npm run build && npm run start"
  },
Run Code Online (Sandbox Code Playgroud)