在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盒式磁带
我放弃了这些方法。
但通过以下步骤使其工作:
-
我把meteor降到了0.6.5
meteor update --release 0.6.5
-
使用demeteorizer来“捆绑应用程序”
- 将文件夹的内容复制到按照本教程创build的openshift目录中
-
replace
process.env.ROOT_URL
在meteorshim与process.env.ROOT_URL = "http://" + (process.env.OPENSHIFT_APP_DNS || "localhost");
-
在
programs/server/boot.js
更新了MIN_NODE_VERSION
:var MIN_NODE_VERSION = 'v0.10.5';
- 混帐推送和应用程序已启动和运行
不支持更改墨盒所安装软件的版本,但是您可以制作具有所需版本的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