在 Elastic Beanstalk 中更新 nodejs

Posted

技术标签:

【中文标题】在 Elastic Beanstalk 中更新 nodejs【英文标题】:Updating nodejs in Elastic Beanstalk 【发布时间】:2013-12-18 10:33:15 【问题描述】:

我一直在尝试将流星项目(排行榜示例)部署到 Amazons Elastic Beanstalk。我使用在https://gist.github.com/fightingtheboss/5432059 找到的 ebconfiguration 脚本并编辑了 ROOT_URL 和 NodeVersion 以及添加了 MONGO_URI 和 DISABLE_WEBSOCKETS 变量。毕竟,meteor 抱怨它至少需要 node v0.10.21,在检查后我发现尽管我在配置脚本和控制台中都指定了 0.10.21,但服务器打印出它正在运行 nodejs v0。 8.24。我尝试通过 yum 块指定它来更新,手动下载最新版本的节点并将其移动到 /usr/local/ 以及下载源代码和编译。这些都不起作用,服务器坚持它运行节点 v0.8.24。 有谁知道如何将 Elastic Beanstalk 上的 nodejs 更新到至少 v0.10.21?

【问题讨论】:

检查sudo node --versionnode --version 是否给出不同的输出。另外,您最初是如何使用 yum 安装节点的?您的实例是基于 amazon linux 构建的吗? 它不允许我运行 sudo node --version,说明我需要 tty 才能运行 sudo。 【参考方案1】:

在 EB 中更新节点版本的步骤。

    转到 EB 控制台 选择您的环境 从左侧菜单中选择配置 点击软件配置的设置图标 将节点版本0.8.24改为0.10.21 点击右下角的保存按钮。

该过程可能需要几分钟。

【讨论】:

好答案! ;)【参考方案2】:

您的弹性豆茎容器使用了多少年?如果它最初是在几个月前创建的,那么对于可以在该容器中运行的节点版本有限制 (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html)。

如果不是上述情况,当您通过控制台升级时,控制台是否显示您的版本为 0.10.21?

【讨论】:

容器是同一天创建的,不管怎么操作,总是报0.8.24。【参考方案3】:

根据本文档,EB 支持的 Node 最新版本是 0.10.10:

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

编辑:正如 Chris 所说,0.10.21 应该得到支持,但是根据我的经验,我只有 0.10.10 才能使用您描述的方法成功工作。

【讨论】:

以上是关于在 Elastic Beanstalk 中更新 nodejs的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Beanstalk 不会自动从 ECR 更新图像

AWS Elastic Beanstalk:如何更改节点命令?在最近的更新中删除了容器选项?

elastic beanstalk 如何更新我的 Rails 数据库?

Elastic Beanstalk 滚动环境配置更新

如何从 AWS Elastic BeanStalk 获取更新的“上传”文件夹?

在 Elastic Beanstalk 和 AWS Lambda 上更新 nodejs API