【问题标题】:How to setup KoaJS in Openshift如何在 Openshift 中设置 KoaJS
【发布时间】:2014-11-14 07:26:08
【问题描述】:

我一直在关注如何在 openshif (http://www.zev23.com/2014/04/openshift-harmony-nodejs.html) 中启用自定义节点版本的示例,所以当我 ssh 到应用程序时,我可以看到已安装的节点版本(0.11.14),但是当我查看记录它说 app.use(function *(){ ... SyntaxError: Unexpected token * 我收到 503 错误。

这是我的 server.js 文件:

var koa = require('koa');
var app = module.exports = koa();

app.use(function *(){
  this.body = 'Hello World';
});

var ipaddress = process.env.OPENSHIFT_INTERNAL_IP || process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_INTERNAL_PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080;
if (typeof ipaddress === "undefined") {
   //  Log errors on OpenShift but continue w/ 127.0.0.1 - this
   //  allows us to run/test the app locally.
   console.warn('No OPENSHIFT_NODEJS_IP var, using 127.0.0.1');
   ipaddress = "127.0.0.1";
};
if (!module.parent) app.listen(port, ipaddress);

我还在NODEJS_VERSION里面添加了0.11.14

__ 更新 __

我已经使用 ssh 检查了服务器,它显示节点 0.11.14 但是当我在我的实际 Web 应用程序启动之前添加这些行(见下文)时,它看起来就像它在节点 0.10.25 上运行并且设置的路径.bash_profile 不是路径中使用的那个。

var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
console.log(ipaddress, port);
console.log(process.versions);
console.log(process.env.PATH);

有没有办法在实际应用程序启动之前配置 PATH,以便它使用 0.11.14 而不是 0.10.25

提前谢谢大家

【问题讨论】:

  • 您是否使用--harmony 标志运行您的node 进程以启用所有新功能?使用node --v8-options 获取可能的开关列表;使用pshtop 来检查命令行node 的启动情况。
  • 您好,谢谢您的回复,是的,我已经使用--harmony 启动了我的应用程序。我很抱歉问,但你能给我举例说明如何在 openshift 中做这些事情。我还使用 ssh 检查了服务器并运行 node -v ,它说 node 0.11.14 所以 --harmony 应该可以工作。谢谢

标签: node.js openshift koa


【解决方案1】:

我已按照https://github.com/ramr/nodejs-custom-version-openshift 中的说明进行操作,现在一切正常。刚刚在 package.json 中添加了main: --harmony server.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多