【发布时间】: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获取可能的开关列表;使用ps或htop来检查命令行node的启动情况。 -
您好,谢谢您的回复,是的,我已经使用--harmony 启动了我的应用程序。我很抱歉问,但你能给我举例说明如何在 openshift 中做这些事情。我还使用 ssh 检查了服务器并运行 node -v ,它说 node 0.11.14 所以 --harmony 应该可以工作。谢谢