我刚刚开始进行前端开发,并遵循了不同的React教程,其中包括配置依赖项的说明。对于制作一个简单的“ Hello world!”所必需的大量样板文件,我感到不知所措。项目。现在,我在这里呆了几个小时
> 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
在Ubuntu 18.10上,我通过snap
以及Docker镜像node:11-slim
上安装了最新的NodeJS。
我的研究甚至发现contextify
已过时,因为它已经包含在NodeJS中。但是,我看不到这个非常模糊的错误。
由于“前端世界”中的过时代码和整个项目的比率较高(我有Java后端背景),所以我对解决此问题以及解决此类依赖问题的通用方法都感兴趣-我担心解决此特定情况只会使我转到下一个问题,这是我到目前为止周末开始进行前端开发的方法。
我在SO之外搜索现有问题和帖子会产生大量“类...没有命名的成员”,但是我无法从中提取任何步骤。