在 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 --version
和node --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 数据库?