openShift节点版本上的meteor

时间:2013-12-05 18:49:08

标签: node.js meteor version openshift

meteor(v0.6.6.3)on openShift,自定义openShift nodeJS为0.10.21,mongoDB 2.2

我尝试在openShift上运行一个流星应用程序。我已将nodeJS从openShift默认值0.10.5升级到nodeJS 0.10.21,因为meteor需要此nodeJS版本作为最小值。

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

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

感谢

4 个答案:

答案 0 :(得分:1)

编辑(06.aug.2014)

截至目前,openshift正在运行nodejs版本 v0.10.25 ,这对于运行流星应用程序应该没问题。我目前正在运行一个基于 0.8.2 / 3 版本。

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

我找到了以下repo,根据说明,您可以使用任何自定义nodejs版本。

注意:在我们发言时,我正在尝试并将报告回来。

修改

经过6个小时的尝试:

  • 2个不同的app bootstraps(ryanjopenshift
  • 来自此repo
  • 的3-4个不同的nodejs磁带

我放弃了这些方法。

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

  1. 我将流星降级到0.6.5

    meteor update --release 0.6.5

  2. 使用demeteorizer“捆绑app”

  3. 将文件夹的内容复制到通过以下this tutorial
  4. 创建的openshift目录中
  5. 用metorshim替换process.env.ROOT_URL

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

  6. 使用以下内容更新了MIN_NODE_VERSION中的programs/server/boot.js

    var MIN_NODE_VERSION = 'v0.10.5';

  7. git push和app up up&运行

答案 1 :(得分:1)

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

我已在Meteor 0.7.0.1上测试

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

然后我跟着Matyas提到的repo。 作为最后一步,我添加了新的openshift env变量,如:

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上运行。

它适用于我,我的应用程序现在运行在流量0.8.3上,节点为0.10.29