更新部署到 Heroku 的 Meteor 应用程序的节点版本

Update Node version for Meteor app deployed to Heroku

我有一个部署到 Heroku 的 Meteor 应用程序。为防止拒绝服务 (DoS) 漏洞,Heroku 建议更新 Node.js 版本 为我的申请。我想在 Heroku 上将流星版本更新为 1.2.1,将节点版本更新为 4.8.4。我也在 packages.json 中设置了节点版本,但在部署后没有更新。

如何在 Heroku 上更新流星和节点?我尝试了以下命令:

heroku run meteor update --release 1.2.1 -a myappname

但它抛出以下错误:

bash: meteor: command not found

如有任何帮助,我们将不胜感激。 提前致谢!

为了将我的应用程序的节点版本更新为 4.8.4,我在本地计算机上将 Meteor 版本更新为 1.5.1,修复了依赖项问题并将代码推送到解决了该问题的 Heroku 应用程序。

我使用以下命令将 Meteor 版本更新为 1.5.1,同时也将节点包版本更新为 4.8.4

meteor update --release 1.5.1

将代码提交并推送到 Heroku 后,发生了几次 babel-runtimebcrypt 崩溃。我执行了以下命令来解决这些问题:

meteor npm install --save babel-runtime
meteor npm install --save bcrypt
meteor update iron:middleware-stack

将这些更新推送到 Heroku 解决了我的问题。

您可以使用以下命令将Meteor版本更新到1.5.1 流星更新 --release 1.5.1

heroku run meteor update 这样的命令将不起作用,因为在 Heroku 环境中没有安装 Meteor(也不是故意安装的)。

它用于 buildpack(假设您使用 Meteor buidpack horse)将您的 Meteor 项目源代码构建为生产版本。然后它成为一个“标准”节点应用程序。 buildpack 还会读取项目 Meteor 版本所需的节点版本(不幸的是,不是您 package.json 文件中指定的版本)并相应地配置您的 Heroku 环境。

buildpack 从您的 Meteor 项目源代码中自动执行所有操作,但这也意味着它与 Meteor 绑定(这也是可以理解的,因为任何任意节点版本都可能不适用于 Meteor)。