关于流星:如何在OpenShift Gear中升级Node.js

 2021-01-14 

How to upgrade Node.js in OpenShift Gear

我正在尝试通过执行以下Tut将Meteor.Js项目添加到OpenShift Gear:
https://www.openshift.com/blogs/cloudy-with-a-chance-of-meteorjs

除了跟随教程的其余部分外,我还必须使用mongoDB-2.4。

将项目推送到Gear并从rhc cli获得成功状态后,我转到URL并获得503。然后重新启动应用程序,结果相同。然后我使用了命令:

1
rhc tail   # is the actual name of my app

并得到错误代码:

1
2
3
Meteor requires Node v0.10.26 or later.
DEBUG: Program node meteorshim.js exited with code 1
DEBUG: Starting child process with 'node meteorshim.js'

此后,我销毁了齿轮,然后再次尝试将流星填充程序创建的package.json更改为节点版本为" 0.10.29"(最初表示为0.10.9),我运行了0.10.29在我的机器上。

我将其捆扎并推入,结果相同。因此,我将其ssh到Gear中,然后键入" node -v",并输出

1
v0.6.20

如何至少获取节点版本0.10.26?

注意:"应用程序" Web界面中的"墨盒"显示为node.js 0.10


答案是您目前无法在OpenShift上获得v0.10.26或更高版本。至少不是我所知道的。 v0.10.25似乎是您目前可以在OpenShift上获得的最新版本。

尽管在您的系统上显示v0.6.20正在执行" node -v",但如果您将应用程序创建为节点v0.10,则它实际上正在运行v0.10.25。当您将代码推送到此处时,检查输出,其中一行应为:

远程:使用node@v0.10.25

的npm信息

我尝试如下更改package.json中的版本,以查看其是否有效,但v0.10.25是OpenShift当前提供的最新版本:

1
2
3
4
"engines": {
  "node":">= 0.10.26",   <<<<< it's not taking this version
  "npm":">= 1.0.0"
},