Error installing with node 4.2.1
$ node --version v4.2.1 $ npm --version 2.14.7 $ npm install node-request-caching \
[email protected] install /Users/xx/src/test/node_modules/node-request-caching/node_modules/hiredis node-gyp rebuild
CC(target) Release/obj.target/hiredis/deps/hiredis/hiredis.o CC(target) Release/obj.target/hiredis/deps/hiredis/net.o CC(target) Release/obj.target/hiredis/deps/hiredis/sds.o CC(target) Release/obj.target/hiredis/deps/hiredis/async.o LIBTOOL-STATIC Release/hiredis.a CXX(target) Release/obj.target/hiredis/src/hiredis.o In file included from ../src/hiredis.cc:3: In file included from ../src/reader.h:4: ../node_modules/nan/nan.h:335:68: error: too many arguments to function call, expected at most 2, have 4 return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv); ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~ /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:4675:3: note: 'New' declared here static Local<Signature> New( ^ In file included from ../src/hiredis.cc:3: In file included from ../src/reader.h:4: ../node_modules/nan/nan.h:417:3: error: redefinition of 'NanNew' NanNew<v8::StringObject, v8::Handlev8::String >( ^ ../node_modules/nan/nan.h:410:3: note: previous definition is here NanNew<v8::StringObject, v8::Localv8::String >( ^ ../node_modules/nan/nan.h:435:36: error: redefinition of 'NanNew' NAN_INLINE v8::Localv8::RegExp NanNew( ^ ../node_modules/nan/nan.h:429:36: note: previous definition is here NAN_INLINE v8::Localv8::RegExp NanNew( ^ ../node_modules/nan/nan.h:447:36: error: redefinition of 'NanNew' NAN_INLINE v8::Localv8::RegExp NanNew( ^ ../node_modules/nan/nan.h:441:36: note: previous definition is here NAN_INLINE v8::Localv8::RegExp NanNew( ^ ../node_modules/nan/nan.h:616:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'? v8::String::ExternalAsciiStringResource *resource) { ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ExternalStringResource /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:2210:19: note: 'ExternalStringResource' declared here class V8_EXPORT ExternalStringResource ^ In file included from ../src/hiredis.cc:3: In file included from ../src/reader.h:4: ../node_modules/nan/nan.h:615:36: error: redefinition of 'NanNew' NAN_INLINE v8::Localv8::String NanNew( ^ ../node_modules/nan/nan.h:610:36: note: previous definition is here NAN_INLINE v8::Localv8::String NanNew( ^ ../node_modules/nan/nan.h:630:27: error: redefinition of '_NanEscapeScopeHelper' NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:625:27: note: previous definition is here NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T> val) { ^ ../node_modules/nan/nan.h:646:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent()))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure [with T = v8::Primitive] NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:651:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent()))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure [with T = v8::Primitive] NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:656:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent()))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure [with T = v8::Boolean] NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:661:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent()))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure [with T = v8::Boolean] NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:878:13: error: no member named 'smalloc' in namespace 'node' , node::smalloc::FreeCallback callback ~~~~~~^ ../node_modules/nan/nan.h:889:12: error: no matching function for call to 'New' return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); ^~~~~~~~~~~~~~~~~ /Users/xxx/.node-gyp/4.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, ^ /Users/xxx/.node-gyp/4.2.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char ') would lose const qualifier NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate isolate, ^ /Users/xxx/.node-gyp/4.2.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, size_t length); ^ /Users/xxx/.node-gyp/4.2.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, ^ In file included from ../src/hiredis.cc:3: In file included from ../src/reader.h:4: ../node_modules/nan/nan.h:893:12: error: no viable conversion from 'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object' return node::Buffer::New(v8::Isolate::GetCurrent(), size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocalv8::Object' to 'const v8::Localv8::Object &' for 1st argument class Local { ^ /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object &&' for 1st argument class Local { ^ /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal' V8_INLINE Local(Local<S> that) ^ /Users/xxx/.node-gyp/4.2.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S ' against 'v8::MaybeLocalv8::Object' V8_INLINE Local(S that) ^ In file included from ../src/hiredis.cc:3: In file included from ../src/reader.h:4: ../node_modules/nan/nan.h:900:26: error: no member named 'Use' in namespace 'node::Buffer' return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size); ~~~~~~~~~~~~~~^ ../node_modules/nan/nan.h:1680:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure [with T = v8::Function] NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:1767:12: error: no matching function for call to '_NanEscapeScopeHelper' return NanEscapeScope(handle->Get(NanNew(key)).Asv8::Object()); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../node_modules/nan/nan.h:634:43: note: expanded from macro 'NanEscapeScope'
define NanEscapeScope(val) scope.Escape(_NanEscapeScopeHelper(val))
^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:630:27: note: candidate template ignored: substitution failure
[with T = v8::Object]
NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
^
../node_modules/nan/nan.h:1973:12: error: no member named 'IsExternalAscii' in 'v8::String'; did you
mean 'IsExternal'?
if (str->IsExternalAscii()) {
^~~~~~~~~~~~~~~
IsExternal
/Users/xxx/.node-gyp/4.2.1/include/node/v8.h:2174:8: note: 'IsExternal' declared here
bool IsExternal() const;
^
In file included from ../src/hiredis.cc:3:
In file included from ../src/reader.h:4:
../node_modules/nan/nan.h:1974:23: error: no type named 'ExternalAsciiStringResource' in
'v8::String'; did you mean 'ExternalStringResource'?
const v8::String::ExternalAsciiStringResource* ext;
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
ExternalStringResource
/Users/xxx/.node-gyp/4.2.1/include/node/v8.h:2210:19: note: 'ExternalStringResource' declared
here
class V8_EXPORT ExternalStringResource
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/hiredis/src/hiredis.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxx/src/test/test-node-request-caching/node_modules/node-request-caching/node_modules/hiredis
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "node-request-caching"
npm ERR! node v4.2.1
npm ERR! npm v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the hiredis package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls hiredis
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request: npm ERR! /Users/xxx/src/test/test-node-request-caching/npm-debug.log
Any idea?