【问题标题】:Meteor requires Node v0.10.41 or later Error on heroku deploymentMeteor 需要 Node v0.10.41 或更高版本 Heroku 部署时出错
【发布时间】:2023-04-04 21:15:02
【问题描述】:

我最近尝试在 heroku 上部署我的第一个 MeteorJS (1.3) 应用程序并收到服务器日志错误 - “Meteor 需要 Node v0.10.41 或更高版本”。 不确定节点和流星之间的关系。流星应用真的需要一个节点后端还是这是一个流星错误?

另外,当我运行“meteor node -v”时,我得到了 v0.10.43,它是更高版本,所以我不确定部署时出现了什么问题。

【问题讨论】:

    标签: node.js meteor heroku


    【解决方案1】:

    在发帖之前,您是否在网络上或Meteor documentation 中进行了搜索?从documentation,它说,

    您的 JavaScript 代码可以在两种环境中运行:客户端 (浏览器)和服务器(服务器上的 Node.js 容器)。

    基本上,Meteor 运行在节点 JS 之上,具有用于反应性和其他功能的所有样板。

    编辑: 现在meteor还有guide

    【讨论】:

    • 是的,我花了一天的大部分时间来尝试部署,在发布之前研究这个和其他错误。
    • @DeanRadcliffe:感谢您提供 OP 的链接,但我认为您是 Meteor 的新手,因为当我编写此答案时 guide.meteor.com 不可用,并且文档使用不同。我的第二个文档链接实际上指向了相关部分,但它不再可用。
    • 酷,@Kishor。这里又是那个链接:guide.meteor.com/deployment.html#environment
    【解决方案2】:

    万一其他人来到这里,在尝试了这里的修复后,我的应用程序在 Heroku 上启动仍然有错误,但错误消息并不冗长,只是继续给出 Node 版本错误。这一系列的修复让它开始了。

    1.在终端中,npm install - 对我来说这是重新安装的 npm。我还运行了“流星更新”,但我知道没有重大更新会破坏我的应用程序。

    2。检查 .gitignore 文件 - 里面可能有一些重要的东西。就我而言,“newrelic”文件夹在其中,但在 package.json 中没有被引用为依赖项。要解决此问题,请确保所有子文件夹在 package.json 中都有依赖项引用(推荐),或者从 .gitignore 中删除 node_modules(创建额外的获取,不推荐但有效)。

    3.使用上面 Kevin 的构建路径 - 或另一个更新的 Meteor 构建包 - 我使用了 horse 包。确保将 .git 添加到 URL 的末尾,如下所示:

    heroku buildpacks:set https://github.com/kevinseguin/heroku-buildpack-meteor.git --app myAppName
    

    4.设置 $PATH - 在终端: PATH=$PATH:$HOME/.meteor

    5.在 Heroku 中设置 ROOT_URL - 那里的一些说明说将其设置为“myAppName.herokuapp.com”。这会导致 Heroku 出现错误。如果您在前面加上“http://”,就像这样,“http://myAppName.herokuapp.com”,它是固定的。

    【讨论】:

      【解决方案3】:

      我在部署新版本的流星 1.3 时也遇到了同样的问题,也度过了一天中最美好的时光,但最终得到了简单的解决方案!

      您使用流星 1.3 的最后一个 buildpack: https://github.com/michaltakac/meteor-buildpack-horse 然后按照那里显示的那样做所有事情,而不是做git push heroku master,你做

      git push -f heroku master
      

      所以你的命令的全部内容:

      >heroku create <yourapp>
      >heroku buildpacks:set https://github.com/michaltakac/meteor-buildpack-horse.git
      >heroku addons:create mongolab
      >heroku config:set ROOT_URL=https://<yourapp>.herokuapp.com
      >git push -f heroku master
      

      感谢gitjason 提出正确方向的建议。

      【讨论】:

      • https://github.com/AdmitHub/meteor-buildpack-horse 为我工作。如果我是你,我会从你的答案中删除 -f - 它不会有帮助,而且有人可能会通过使用它而真正伤害自己并丢失提交历史!
      【解决方案4】:

      buildpack "jordansissel/heroku-buildpack-meteor.git" 有问题

      Meteor 1.3 需要 Node 0.10.41,而这个 buildpack 在 0.10.40 编译节点。

      我提交了一个新 buildpack 的拉取请求,或者在 https://github.com/kevinseguin/heroku-buildpack-meteor.git 尝试我的 fork

      【讨论】:

      • 谢谢凯文。我使用你的 fork 作为我的 buildpack,并看到你在“compile_node”文件中更新了你的节点版本。错误已从 heroku 日志中消失。应用程序仍在崩溃……但原因不同。
      • 我还将 buildpack 设置为您的 fork。但我仍然遇到“Meteor 需要 Node v0.10.41 或更高版本”的应用程序崩溃。我尝试了 heroku restart 和“git push -f heroku master”(来自下面的答案)。有什么建议吗?
      • kevinseguin buildpack 对我不起作用; https://github.com/AdmitHub/meteor-buildpack-horse 一个。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 2017-07-07
      • 2021-09-02
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 2019-03-14
      相关资源
      最近更新 更多