如何在 Elastic Beanstalk 实例上运行任意 npm 脚本
Posted
技术标签:
【中文标题】如何在 Elastic Beanstalk 实例上运行任意 npm 脚本【英文标题】:How do I run an arbitrary npm script on an Elastic Beanstalk instance 【发布时间】:2017-03-11 21:00:07 【问题描述】:我正在尝试调试在 Elastic Beanstalk 上运行的 Node 应用程序的问题。该问题仅在 EB 下出现,我无法在开发机器上重现,即使在本地使用生产配置运行时也是如此。
与其他 EB 平台不同,Node 平台似乎真的不遗余力地隐藏 Node bin/ 路径,因此您无法从 shell 运行 npm 或 node 命令。我意识到您通常不希望在 EB 下以这种方式操作,但我还需要一个更短的调试反馈循环,而不是等待 5 分钟让 EB 部署来测试每个小调整。
将来自here 和here 的信息拼凑在一起,我知道这些部分在哪里,但是运行简单的npm run script
命令最直接的方法是什么?
【问题讨论】:
【参考方案1】:要调试弹性 beanstalk 实例上的问题,您只需 SSH 到您的机器(您可以在 WEB AWS 控制台的 EC2>Instances 部分找到详细信息:https://console.aws.amazon.com/ec2)。然后在那台机器上调试你的代码。
1234563一些特定的事件。您可以在这里找到更多信息:https://***.com/a/26804625/6541812【讨论】:
感谢您的回复,但这是从文档中显而易见的所有基本 EB 信息。一旦我已经 ssh'ed 到框中,我正在谈论交互式运行命令的问题应该是隐含的。抱歉,如果不清楚。【参考方案2】:登录后:
选择您的节点版本:
export PATH=$PATH:/opt/elasticbeanstalk/node-install/node-v8.11.1-linux-x64/bin/
运行你的命令:
cd /var/app/current/
npm ls
【讨论】:
以上是关于如何在 Elastic Beanstalk 实例上运行任意 npm 脚本的主要内容,如果未能解决你的问题,请参考以下文章
如何重新启动 httpd 以在 Elastic Beanstalk 中的 EC2 实例上启用 HTTPS?
Elastic Load Balancer 后面的 Elastic beanstalk 实例的 Django ALLOWED_HOSTS 设置