복붙노트

[REDIS] Node.js를 객체의 프로토 타입은 레디 스와 객체 또는 null의 경우도있다

REDIS

Node.js를 객체의 프로토 타입은 레디 스와 객체 또는 null의 경우도있다

내 Node.js를 API에 대한 설정 레디 스에 노력했습니다 나는이 오류가 발생했습니다 :

util.js:634
  ctor.prototype = Object.create(superCtor.prototype, {
                          ^
TypeError: Object prototype may only be an Object or null: undefined
    at Function.create (native)
    at Object.exports.inherits (util.js:634:27)
    at Object.<anonymous> (/home/<user>/<project>/node_modules/redis/lib/parser/javascript.js:31:6)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/<user>/<project>/node_modules/redis/index.js:33:14)

여기 내 코드는 :

console.log('Redis: ' + config.redis.host);
console.log('Redis: ' + config.redis.port);
console.log('Redis: ' + config.redis.pass);

redis       = require('redis');
redisClient = redis.createClient(
    config.redis.port, 
    config.redis.host, 
    {
        auth_pass: config.redis.pass
    }
);

설정은 간단하게 구성 객체와 필요 ( '설정') 파일입니다.

해결법

  1. ==============================

    1.문제는 superCtor.prototype가 정의되지 것입니다. Object.create 유일한 유효 중 첫 번째 인수는 널 또는 비 - 널 객체 참조; 당신은 (정의되지 않은 포함) 프리미티브를 사용할 수 없습니다.

    문제는 superCtor.prototype가 정의되지 것입니다. Object.create 유일한 유효 중 첫 번째 인수는 널 또는 비 - 널 객체 참조; 당신은 (정의되지 않은 포함) 프리미티브를 사용할 수 없습니다.

    superCtor.prototype은 당신이 인용 한 코드에서 정의되지 않은 이유를 우리는 말할 수 없다, 그러나 그것은 Object.create 호출의 문제입니다.

  2. ==============================

    2.나는이 문제를 알아 냈어. 나는 레디 스과 충돌 전역 변수라는 오류, 또한 다른 종속성을했다.

    나는이 문제를 알아 냈어. 나는 레디 스과 충돌 전역 변수라는 오류, 또한 다른 종속성을했다.

    단순히 재 명명 오류에 오류를하여 해결했습니다.

  3. from https://stackoverflow.com/questions/30426420/node-js-object-prototype-may-only-be-an-object-or-null-with-redis by cc-by-sa and MIT license