安装OS X El Capitan后安装NPM

我试图运行npm install,为了安装我的项目的依赖关系,在安装El Capitan(在Mac上)之前,这是工作的。

我尝试通过以下方式重新安装节点和npm:

1.node js安装程序包

2.nvm

3.homebrew

npm -v 2.14.4

节点-v v4.1.1

> bufferutil@1.1.0 install /Users/adamkraif/Documents/workspace/hunter-asteroid/node_modules/bufferutil > node-gyp rebuild CXX(target) Release/obj.target/bufferutil/src/bufferutil.o In file included from ../src/bufferutil.cc:16: ../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal' NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) { ^ ../../nan/nan.h:256:25: note: previous definition is here NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) { ^ ../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node' , node::smalloc::FreeCallback callback ~~~~~~^ ../../nan/nan.h:672:12: error: no matching function for call to 'New' return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); ^~~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.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::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length); ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ In file included from ../src/bufferutil.cc:16: ../../nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>' return node::Buffer::New(v8::Isolate::GetCurrent(), size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument class Local { ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument class Local { ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal' V8_INLINE Local(Local<S> that) ^ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>' V8_INLINE Local(S* that) ^ In file included from ../src/bufferutil.cc:16: ../../nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer' return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size); ~~~~~~~~~~~~~~^ In file included from ../src/bufferutil.cc:7: /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *' TYPE_CHECK(T, S); ^~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK' *(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \ ^ ~~~~~~~~~~~~~~~~~~ ../../nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent()))); ^ ../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope' # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val)) ^ In file included from ../src/bufferutil.cc:7: /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *' TYPE_CHECK(T, S); ^~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK' *(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \ ^ ~~~~~~~~~~~~~~~~~~ ../../nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent()))); ^ ../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope' # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val)) ^ In file included from ../src/bufferutil.cc:7: /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *' TYPE_CHECK(T, S); ^~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK' *(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \ ^ ~~~~~~~~~~~~~~~~~~ ../../nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex) ^ ../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope' # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val)) ^ In file included from ../src/bufferutil.cc:7: /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *' TYPE_CHECK(T, S); ^~~~~~~~~~~~~~~~ /Users/adamkraif/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK' *(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \ ^ ~~~~~~~~~~~~~~~~~~ ../../nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>()); ^ ../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope' # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val)) ^ 9 errors generated. make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/Users/adamkraif/.node/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.0.0 gyp ERR! command "/usr/local/bin/node" "/Users/adamkraif/.node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/adamkraif/Documents/workspace/hunter-asteroid/node_modules/bufferutil gyp ERR! node -v v4.1.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN EPACKAGEJSON hunterasteroid@0.0.0 No description npm WARN EPACKAGEJSON hunterasteroid@0.0.0 No repository field. npm WARN EPACKAGEJSON hunterasteroid@0.0.0 No license field. npm ERR! Darwin 15.0.0 npm ERR! argv "/usr/local/bin/node" "/Users/adamkraif/.node/bin/npm" "install" npm ERR! node v4.1.1 npm ERR! npm v3.3.4 npm ERR! code ELIFECYCLE npm ERR! bufferutil@1.1.0 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bufferutil@1.1.0 install script 'node-gyp rebuild'. npm ERR! This is most likely a problem with the bufferutil 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 bufferutil npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /Users/adamkraif/Documents/workspace/hunter-asteroid/npm-debug.log 

目前看来,symxtify在Node 4.x上不起作用,由于这个问题: https : //github.com/brianmcd/contextify/issues/180

你可以使用n降级到0.12.7,如下所示:npm install -gn && n 0.12.7

那么这应该工作,你应该能够安装你的代价:npm install -g contextify

我发现它通常是因为其中一个依赖项与节点4.1.1不兼容通常我使用npm-check-update( ncu )来查看是否有最新版本的依赖关系,如果是,我更新到最新版本。 通常它的工作原理是模块作者已经修复了它(特别是如果它是一个stream行的模块)

安装: npm install npm-check-updates -g

运行: ncu

如果您看到较新的模块,请运行:

ncu -u

注意:这将所有软件包更新到他们最新的模块。 还有命令只更新你需要的。