我一直在关注如何在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
先谢谢你们
答案 0 :(得分:0)
我已按照https://github.com/ramr/nodejs-custom-version-openshift中的说明进行操作,现在一切正常。刚刚在package.json中添加了main: --harmony server.js
。