【问题标题】:Wrong version of node used when deploying Meteor部署 Meteor 时使用的节点版本错误
【发布时间】:2013-12-25 16:34:54
【问题描述】:

Node.js 0.10.22 是使用 NVM 安装的。安装meteoric并运行后

meteoric deploy
forever logs 0

我们从 Meteor 得到错误输出

data:    bundle/main.js:10138 - error: Forever detected script exited with code: 1
data:    bundle/main.js:10138 - error: Forever restarting script for 0 time
data:    bundle/main.js:10138 - Meteor requires Node v0.10.21 or later.
data:    bundle/main.js:10138 - error: Forever detected script exited with code: 1
data:    bundle/main.js:10138 - error: Forever restarting script for 1 time
data:    bundle/main.js:10138 - Meteor requires Node v0.10.21 or later.
data:    bundle/main.js:10138 - error: Forever detected script exited with code: 1

$ node -v
v0.10.22

$ which node
/root/.nvm/v0.10.22/bin/node

问题: 好像永远和 NVM 有问题?为什么永远/流星/陨石说Node的版本早于v0.10.21?有解决这个问题的想法吗?

【问题讨论】:

  • 我不使用流星,但我查看了脚本,它似乎使用了 Chris Lea 的node.js-legacy repo,它安装了节点 0.8.x。 Meteor,从 0.6.6 开始,使用节点 0.10.x。我不确定这是否是问题所在,但它确实看起来不正确。
  • @DavidWeldon 我重建了服务器实例并再次从头开始,只使用 NVM 安装节点 0.10.22。现在的问题是,forever/meteor 没有找到正确的节点版本。为什么永远/流星使用来自 chris-lea 的节点版本而不是 nvm?

标签: node.js meteor npm meteorite meteoric


【解决方案1】:

根据我们的讨论,听起来您安装了错误的节点版本。请参阅 history.md 文件以了解您应该运行的节点版本。如果您使用的是最新版本的流星,那么在撰写本文时它是 0.10.21。

我认为正确的策略是确保没有安装其他版本的节点。如果您想使用流星,我会尝试以下方法:

  1. 从干净的服务器实例开始。
  2. 为您的流星版本安装正确版本的节点。
  3. 注释掉meteoric.sh 中的第 61 行和第 64 行(添加 node.js-legacy 并安装 npm 的行)请注意,您可能需要从其他 npm 命令中删除 sudo,具体取决于您在步骤中安装节点的方式2.
  4. 让流星发挥它的设置魔法。

如果所有这些都有效,您可能应该向 meteoric 提交问题以更改节点的安装方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 2015-06-12
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 2017-08-05
    • 1970-01-01
    相关资源
    最近更新 更多