" TypeError:对象8080没有方法' on'"在Openshift上运行斗篷

时间:2015-03-23 16:50:09

标签: node.js openshift

我正在尝试使用RedHat Openshift上的斗篷来运行我的应用程序。但我甚至无法运行这样的简单代码:

var cloak = require("cloak");
var _ = require("underscore");
var connect = require("connect");

cloak.configure({
    port: process.env.OPENSHIFT_NODEJS_PORT || 8080,
    autoJoinLobby:false,
enter code here`});

cloak.run();

我可以轻松地在我的本地电脑上运行它(没有常数),但是在Openshift上,我总是得到这个错误:

    /var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/manager.js:106
  server.on('error', function(err) {
         ^
TypeError: Object 8080 has no method 'on'
    at new Manager (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/manager.js:106:10)
    at Object.exports.listen (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/socket.io.js:78:10)
    at Object.module.exports.cloak.run (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/index.js:78:21)
    at Object. (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/server.js:23:7)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

我查看了socket.io,问题在于:

server = require('http').createServer();

在本地计算机上,服务器的值从8080更改为[object Object],因此manager.js输入错误。在Openshift上,它什么也没做。

为什么这样对我? :d

1 个答案:

答案 0 :(得分:0)

您可能还需要指定IP地址(可能称为主机)

host: process.env.OPENSHIFT_NODEJS_IP || 127.0.0.1,