我有一个部署到Heroku的Meteor应用程序。为了防止拒绝服务(DoS)漏洞,Heroku建议更新Node.js版本
为我的申请。我想在Heroku上将meteor版本更新到1.2.1并将节点版本更新到4.8.4。我也在packages.json
中设置了节点版本,但部署后没有更新。
如何更新Heroku上的meteor和节点?我尝试了以下命令:
heroku run meteor update --release 1.2.1 -a myappname
但它会引发以下错误:
bash: meteor: command not found
非常感谢任何帮助。 提前谢谢!
答案 0 :(得分:4)
要将我的应用程序的节点版本更新为4.8.4
,我将Meteor版本更新到本地计算机上的1.5.1
,修复了依赖项问题并将代码推送到Heroku应用程序,解决了问题
我使用以下命令将Meteor版本更新为1.5.1
,并将节点包版本更新为4.8.4
:
meteor update --release 1.5.1
提交代码并将代码推送到Heroku后,发生了一些babel-runtime
和bcrypt
崩溃。我执行了以下命令来解决这些问题:
meteor npm install --save babel-runtime
meteor npm install --save bcrypt
meteor update iron:middleware-stack
。
将这些更新推送到Heroku解决了我的问题。
答案 1 :(得分:0)
您可以使用以下命令将Meteor版本更新为1.5.1 流星更新--release 1.5.1
答案 2 :(得分:0)
像 heroku run meteor update
这样的命令将不起作用,因为 Meteor 没有安装(也不打算安装)在 Heroku 环境中。
它用于 buildpack(假设您使用 Meteor buidpack horse)将您的 Meteor 项目源代码构建为生产版本。然后它成为“标准”节点应用程序。 buildpack 还会读取项目 Meteor 版本所需的节点版本(不幸的是,不是您的 package.json
文件中指定的版本)并相应地配置您的 Heroku 环境。
buildpack 会根据您的 Meteor 项目源代码自动执行所有操作,但这也意味着它与 Meteor 相关联(这也可以理解,因为任何任意节点版本都可能不适用于 Meteor)。