代码之家  ›  专栏  ›  技术社区  ›  Kalle Richter

npm安装失败,原因是“错误:类v8::ObjectTemplate没有名为SetAccessCheckCallbacks的成员”

  •  0
  • Kalle Richter  · 技术社区  · 6 年前

    > npm install
    npm WARN lifecycle The node binary used for scripts is /snap/bin/node but npm is using /snap/node/1627/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
    
    > contextify@0.1.15 install /home/richter/mereet/mereet-frontend/node_modules/contextify
    > node-gyp rebuild
    
    make: Verzeichnis „/home/richter/mereet/mereet-frontend/node_modules/contextify/build“ wird betreten
      CXX(target) Release/obj.target/contextify/src/contextify.o
    In file included from ../src/contextify.cc:3:
    ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
    ../../nan/nan.h:2232:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
         , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                  ^
    ../src/contextify.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ContextifyContext::New(Nan::NAN_METHOD_ARGS_TYPE)’:
    ../src/contextify.cc:62:74: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             ContextifyContext* ctx = new ContextifyContext(info[0]->ToObject());
                                                                              ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ContextifyContext::Run(Nan::NAN_METHOD_ARGS_TYPE)’:
    ../src/contextify.cc:77:48: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<String> code = info[0]->ToString();
                                                    ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10248:15: note: declared here
     Local<String> Value::ToString() const {
                   ^~~~~
    ../src/contextify.cc:83:51: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                 ScriptOrigin origin(info[1]->ToString());
                                                       ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10248:15: note: declared here
     Local<String> Value::ToString() const {
                   ^~~~~
    ../src/contextify.cc: In static member function ‘static v8::Local<v8::Context> ContextWrap::createV8Context(v8::Local<v8::Object>)’:
    ../src/contextify.cc:131:68: error: no matching function for call to ‘v8::Function::NewInstance()’
             Local<Object> wrapper = Nan::New(constructor)->NewInstance();
                                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:4105:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const’
       V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                ^~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:4105:44: note:   candidate expects 3 arguments, 0 provided
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:4108:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const’
       V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                ^~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:4108:44: note:   candidate expects 1 argument, 0 provided
    ../src/contextify.cc:150:16: error: ‘class v8::ObjectTemplate’ has no member named ‘SetAccessCheckCallbacks’; did you mean ‘SetAccessCheckCallback’?
             otmpl->SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck,
                    ^~~~~~~~~~~~~~~~~~~~~~~
                    SetAccessCheckCallback
    ../src/contextify.cc: In static member function ‘static void ContextWrap::GlobalPropertyGetter(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Value>&)’:
    ../src/contextify.cc:176:52: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<Object> data = info.Data()->ToObject();
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc:182:80: error: no matching function for call to ‘v8::Object::GetRealNamedProperty(v8::Local<v8::String>&)’
             Local<Value> rv = Nan::New(ctx->sandbox)->GetRealNamedProperty(property);
                                                                                    ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::GetRealNamedProperty(v8::Local<v8::Context>, v8::Local<v8::Name>)’
       V8_WARN_UNUSED_RESULT MaybeLocal<Value> GetRealNamedProperty(
                                               ^~~~~~~~~~~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note:   candidate expects 2 arguments, 1 provided
    ../src/contextify.cc: In static member function ‘static void ContextWrap::GlobalPropertySetter(v8::Local<v8::String>, v8::Local<v8::Value>, const Nan::PropertyCallbackInfo<v8::Value>&)’:
    ../src/contextify.cc:192:52: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<Object> data = info.Data()->ToObject();
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc: In static member function ‘static void ContextWrap::GlobalPropertyQuery(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Integer>&)’:
    ../src/contextify.cc:203:52: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<Object> data = info.Data()->ToObject();
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc:209:67: error: no matching function for call to ‘v8::Object::GetRealNamedProperty(v8::Local<v8::String>&)’
             if (!Nan::New(ctx->sandbox)->GetRealNamedProperty(property).IsEmpty() ||
                                                                       ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::GetRealNamedProperty(v8::Local<v8::Context>, v8::Local<v8::Name>)’
       V8_WARN_UNUSED_RESULT MaybeLocal<Value> GetRealNamedProperty(
                                               ^~~~~~~~~~~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note:   candidate expects 2 arguments, 1 provided
    ../src/contextify.cc:210:71: error: no matching function for call to ‘v8::Object::GetRealNamedProperty(v8::Local<v8::String>&)’
                 !Nan::New(ctx->proxyGlobal)->GetRealNamedProperty(property).IsEmpty()) {
                                                                           ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note: candidate: ‘v8::MaybeLocal<v8::Value> v8::Object::GetRealNamedProperty(v8::Local<v8::Context>, v8::Local<v8::Name>)’
       V8_WARN_UNUSED_RESULT MaybeLocal<Value> GetRealNamedProperty(
                                               ^~~~~~~~~~~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3668:43: note:   candidate expects 2 arguments, 1 provided
    ../src/contextify.cc: In static member function ‘static void ContextWrap::GlobalPropertyDeleter(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Boolean>&)’:
    ../src/contextify.cc:218:52: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<Object> data = info.Data()->ToObject();
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc:224:63: warning: ‘bool v8::Object::Delete(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             bool success = Nan::New(ctx->sandbox)->Delete(property);
                                                                   ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/v8.h:26,
                     from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:3442:43: note: declared here
       V8_DEPRECATED("Use maybe version", bool Delete(Local<Value> key));
                                               ^~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
       declarator __attribute__((deprecated(message)))
       ^~~~~~~~~~
    ../src/contextify.cc: In static member function ‘static void ContextWrap::GlobalPropertyEnumerator(const Nan::PropertyCallbackInfo<v8::Array>&)’:
    ../src/contextify.cc:229:52: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<Object> data = info.Data()->ToObject();
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ContextifyScript::New(Nan::NAN_METHOD_ARGS_TYPE)’:
    ../src/contextify.cc:286:48: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             Local<String> code = info[0]->ToString();
                                                    ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10248:15: note: declared here
     Local<String> Value::ToString() const {
                   ^~~~~
    ../src/contextify.cc:291:52: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                                    ? info[1]->ToString()
                                                        ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10248:15: note: declared here
     Local<String> Value::ToString() const {
                   ^~~~~
    ../src/contextify.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ContextifyScript::RunInContext(Nan::NAN_METHOD_ARGS_TYPE)’:
    ../src/contextify.cc:319:62: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             if (!ContextifyContext::InstanceOf(info[0]->ToObject()))
                                                                  ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    ../src/contextify.cc:322:95: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
             ContextifyContext* ctx = Nan::ObjectWrap::Unwrap<ContextifyContext>(info[0]->ToObject());
                                                                                                   ^
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:10254:15: note: declared here
     Local<Object> Value::ToObject() const {
                   ^~~~~
    In file included from ../src/contextify.cc:1:
    ../src/contextify.cc: At global scope:
    /home/richter/.node-gyp/11.9.0/include/node/node.h:495:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
           (node::addon_register_func) (regfunc),                          \
                                               ^
    /home/richter/.node-gyp/11.9.0/include/node/node.h:529:3: note: in expansion of macro ‘NODE_MODULE_X’
       NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
       ^~~~~~~~~~~~~
    ../src/contextify.cc:361:5: note: in expansion of macro ‘NODE_MODULE’
         NODE_MODULE(contextify, init)
         ^~~~~~~~~~~
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
    /home/richter/.node-gyp/11.9.0/include/node/node_object_wrap.h:85:78:   required from here
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:9707:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                    reinterpret_cast<Callback>(callback), type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
    ../../nan/nan_object_wrap.h:66:61:   required from here
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:9707:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
    In file included from ../../nan/nan.h:2718,
                     from ../src/contextify.cc:3:
    ../../nan/nan_weak.h: In instantiation of ‘Nan::WeakCallbackInfo<P>::WeakCallbackInfo(Nan::Persistent<v8::Value>*, Nan::WeakCallbackInfo<P>::Callback, void*, void*, void*) [with T = ContextWrap; Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<ContextWrap>&)]’:
    ../../nan/nan_weak.h:264:12:   required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = ContextWrap; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<ContextWrap>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
    ../src/contextify.cc:136:132:   required from here
    ../../nan/nan_weak.h:58:16: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class v8::Persistent<v8::Value>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
         std::memcpy(&persistent_, persistent, sizeof (v8::Persistent<v8::Value>));
         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/richter/.node-gyp/11.9.0/include/node/node.h:63,
                     from ../src/contextify.cc:1:
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:784:35: note: ‘class v8::Persistent<v8::Value>’ declared here
     template <class T, class M> class Persistent : public PersistentBase<T> {
                                       ^~~~~~~~~~
    /home/richter/.node-gyp/11.9.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::WeakCallbackInfo<ContextWrap>; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<ContextWrap> >&)]’:
    ../../nan/nan_weak.h:268:35:   required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = ContextWrap; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<ContextWrap>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
    ../src/contextify.cc:136:132:   required from here
    /home/richter/.node-gyp/11.9.0/include/node/v8.h:9707:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::WeakCallbackInfo<ContextWrap> >::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<ContextWrap> >&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                    reinterpret_cast<Callback>(callback), type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make: *** [contextify.target.mk:101: Release/obj.target/contextify/src/contextify.o] Fehler 1
    make: Verzeichnis „/home/richter/mereet/mereet-frontend/node_modules/contextify/build“ wird verlassen
    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:262:23)
    gyp ERR! stack     at ChildProcess.emit (events.js:197:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
    gyp ERR! System Linux 4.18.0-15-generic
    gyp ERR! command "/snap/node/1627/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /home/richter/mereet/mereet-frontend/node_modules/contextify
    gyp ERR! node -v v11.9.0
    gyp ERR! node-gyp -v v3.8.0
    gyp ERR! not ok 
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/chokidar/node_modules/fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: contextify@0.1.15 (node_modules/contextify):
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: contextify@0.1.15 install: `node-gyp rebuild`
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
    
    audited 35891 packages in 16.281s
    found 2 high severity vulnerabilities
      run `npm audit fix` to fix them, or `npm audit` for details
    

    我在ubuntu18.10上安装了NodeJS,通过 snap 以及码头工人的形象 node:11-slim .

    contextify

    我在外面搜索现有的问题和帖子,因此产生了大量的“类。。。没有名为“”的成员,但我无法从中提取任何步骤。

    0 回复  |  直到 6 年前