2015-10-01 25 views
8

Tôi đang cố gắng chạy npm cài đặt, để cài đặt các phụ thuộc của dự án của tôi, điều này đã hoạt động trước khi tôi cài đặt El Capitan (trên Mac).NPM cài đặt sau khi cài đặt OS X El Capitan

Tôi đã cố gắng cài đặt lại nút và NPM qua như sau:

1.node js gói cài đặt

2.nvm

3.homebrew

NPM -v 2.14.4

nút -v v4.1.1

> [email protected] 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 [email protected] No description 
npm WARN EPACKAGEJSON [email protected] No repository field. 
npm WARN EPACKAGEJSON [email protected] 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! [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 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 

Trả lời

3

Dường như contextify không hoạt động trên các phiên bản 4.x Node vào lúc này, do vấn đề này: https://github.com/brianmcd/contextify/issues/180

Bạn có thể hạ xuống 0.12.7 bằng cách sử dụng n, như thế này: NPM cài đặt -gn & & n 0.12.7

Sau đó, điều này sẽ làm việc, và bạn sẽ có thể cài đặt DEPS của bạn: NPM cài đặt -g contextify

+0

Tôi đã hạ cấp thành công bằng cách sử dụng bia. 'brew tap homebrew/phiên bản; brew install homebrew/versions/node012' –

2

tôi sáng lập d rằng thường là do một trong các phụ thuộc không tương thích với nút 4.1.1 Thông thường tôi sử dụng npm-check-update (ncu) để xem có phiên bản mới nhất của phụ thuộc hay không, nếu có, tôi cập nhật phiên bản mới nhất và thử . Thông thường nó hoạt động vì tác giả mô-đun đã cố định nó (đặc biệt nếu đó là một mô-đun phổ biến)

Install: npm install npm-check-updates -g

Run: ncu

Nếu bạn thấy các module mới, hãy chạy:

ncu -u

Lưu ý: Việc này cập nhật tất cả các gói cho mô-đun mới nhất của chúng. Ngoài ra còn có lệnh để cập nhật chỉ những cái bạn cần.

+0

Tôi ước tôi có thể upvote câu trả lời này một vài lần nữa ... –

Các vấn đề liên quan