在openShift节点版本上meteor

meteor(v0.6.6.3)在openShift上,定制openShift nodeJS为0.10.21,mongoDB 2.2

我试图得到一个运行在openShift上的meteor应用程序。 我已经将nodeJS从openShift默认值0.10.5升级到了nodeJS 0.10.21,因为meteor最低需要这个nodeJS版本。

如果我打开一个ssh shell openShift,并让我节点版本比它显示我正确的0.10.21(节点 – 版本)的升级版本。 但是,如果我将启动meteor应用程序,他们会看到0.10.5的nodeJS版本(控制台用'process.version'注销),并再次重新启动…

有人能指出我可以看到发生了什么或者我做错了什么的方向。

谢谢

我准备了这个“快速启动”的解决scheme,它使用Meteor的例子LeaderBoard使用METEOR + NODE v0.10.24(但可以更改),它可以很容易地转换到您的实际应用程序。

我已经testing了meteor0.7.0.1

请参阅: https : //github.com/vladka/openshift-meteor-leaderboard-customNode

编辑(06.aug.2014)

截至目前openshift运行nodejs版本v0.10.25这应该是罚款运行meteor应用程序。 我目前正在运行一个基于0.8.2 / 3版本的版本。

过时的答案(2014年1月20日)

我发现以下回购 ,根据说明可以让你使用任何自定义nodejs版本。

注意:我正在试着说出来,并会报告回来。

编辑

经过6个小时的试用:

  • 2个不同的应用程序引导( ryanj , openshift )
  • 从这个回购 3-4个不同的nodejs盒式磁带

我放弃了这些方法。

但通过以下步骤使其工作:

  1. 我把meteor降到了0.6.5

    meteor update --release 0.6.5

  2. 使用demeteorizer来“捆绑应用程序”

  3. 将文件夹的内容复制到按照本教程创build的openshift目录中
  4. replaceprocess.env.ROOT_URL在meteorshim与

    process.env.ROOT_URL = "http://" + (process.env.OPENSHIFT_APP_DNS || "localhost");

  5. programs/server/boot.js更新了MIN_NODE_VERSION

    var MIN_NODE_VERSION = 'v0.10.5';

  6. 混帐推送和应用程序已启动和运行

不支持更改墨盒所安装软件的版本,但是您可以制作具有所需版本的DIY应用程序,或者使用所需的版本来滚动您自己的nodejs墨盒。

我使用nodejs-0.10而不是nodejs-0.6创build了openshift应用程序。

然后我跟着Matyas提到的这个回购 。 作为最后一步,我添加了新的openshift envvariables,如下所示:

rhc env add OPENSHIFT_youruniquestring_PATH_ELEMENT=/var/lib/openshift/xxxxxxxx/app-root/data/node-v0.10.29-linux-x64/bin -a yourAppName

请调整上面的值以符合您的要求。

之后,尝试对源代码进行一些修改,然后提交并推送。

一旦完成,你应该运行在节点0.10.29上。

它为我工作,我的应用程序现在运行在meteor0.8.3节点0.10.29

Interesting Posts