【问题标题】:Heroku: Update Node Version not workingHeroku:更新节点版本不起作用
【发布时间】:2017-12-17 17:47:37
【问题描述】:

我想更新部署到 Heroku 的应用节点版本 目前在 Heroku 应用上是 0.10.40

为了更改为我想要的版本,我将 package.json 文件作为:

{
  "name": "myapp",
  "private": true,
  "engines": {
    "node": "4.8.4"
  },
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "meteor-node-stubs": "~0.2.0"
  }
}

然后将我的代码部署到 heroku 应用程序。但是仍然在通过 heroku CLI 检查版本时

heroku run node -v -a myapp

版本未更新,仍在使用旧版本。

任何帮助!

【问题讨论】:

  • 为什么在生产服务器上使用meteor run?您是否使用 buildpack 在 Heroku 上部署 Meteor 项目?
  • @ghybs 如果没有定义流星运行,我将如何在服务器上运行我的应用程序。
  • 而我面临的主要问题是,尽管更新了我的 package.json,但服务器上的节点版本并没有改变
  • 您还没有回答我的第二个问题。如果您在 Heroku 上为 Meteor 使用 buildpack,该 buildpack 会自动 meteor build 您的项目,它指定节点版本(由 Meteor 版本绑定)。

标签: node.js meteor heroku npm


【解决方案1】:
  1. 您应该 build 您的 Meteor 项目在生产中使用它,instead of 依赖于您用于开发的相同 meteor run 命令。您还可以在 Deployment 的 Meteor 指南中找到详细信息。
  2. 对于 Heroku 主机,您可以改为利用 buildpack 在 Heroku 端自动执行此构建步骤,而不必“提交”您的构建输出。例如,对于 Meteor,您可以使用 AdmitHub/meteor-buildpack-horse。请注意,您将无法自己手动更改节点版本。它由您在项目中使用的 Meteor 版本自动设置。
  3. 不过,通过在 package.json 文件中指定 "engines" 字段并让 Heroku 将 Meteor 项目用作 Node.js 应用程序,它应该相应地调整了 Node 版本。但是有几个潜在的错误可以解释为什么它不是。例如。您的package.json 文件not being properly committed 等的新版本。您当前的问题没有提供足够的细节来详细说明可能是什么原因。

【讨论】:

  • 你能帮忙弄清楚如何在指定的 herkou wrt 应用程序上运行流星命令
  • 这很可能是一个不同的问题。乍一看,我认为不可能运行流星命令,因为不会安装流星。
【解决方案2】:

对于 Windows 用户: 首先从 Program Files 中卸载以前的 nodejs,然后下载并安装最新的 node https://nodejs.org/en/

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 2016-01-28
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多