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')并再次重新开始......
有人能指出我可以看到发生了什么或我做错了什么的方向。
感谢
答案 0 :(得分:1)
截至目前,openshift正在运行nodejs版本 v0.10.25 ,这对于运行流星应用程序应该没问题。我目前正在运行一个基于 0.8.2 / 3 版本。
我找到了以下repo,根据说明,您可以使用任何自定义nodejs版本。
注意:在我们发言时,我正在尝试并将报告回来。
经过6个小时的尝试:
我放弃了这些方法。
但是通过以下步骤使其工作:
我将流星降级到0.6.5
meteor update --release 0.6.5
使用demeteorizer“捆绑app”
用metorshim替换process.env.ROOT_URL
process.env.ROOT_URL = "http://" + (process.env.OPENSHIFT_APP_DNS || "localhost");
使用以下内容更新了MIN_NODE_VERSION
中的programs/server/boot.js
var MIN_NODE_VERSION = 'v0.10.5';
答案 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