Hey,
I updated my node to 14.15 (instead of Version 7 as mentioned in the Tutorial) and my Errors changed.
bson@0.2.22 install /var/www/osbenji.de/openhab-cloud/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/bson/build'
CXX(target) Release/obj.target/bson/ext/bson.o
bson.target.mk:109: recipe for target 'Release/obj.target/bson/ext/bson.o' failed
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/bson/build'
> kerberos@0.0.11 install /var/www/osbenji.de/openhab-cloud/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/kerberos/build'
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
kerberos.target.mk:115: recipe for target 'Release/obj.target/kerberos/lib/kerberos.o' failed
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/kerberos/build'
> bufferutil@1.2.1 install /var/www/osbenji.de/openhab-cloud/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
../src/bufferutil.cc:25:30: error: ‘v8::Handle’ has not been declared
static void Initialize(v8::Handle<v8::Object> target)
^~~~~~
../src/bufferutil.cc:25:36: error: expected ‘,’ or ‘...’ before ‘<’ token
static void Initialize(v8::Handle<v8::Object> target)
^
../src/bufferutil.cc: In static member function ‘static void BufferUtil::Initialize(int)’:
../src/bufferutil.cc:33:14: error: ‘target’ was not declared in this scope
Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
^~~~~~
../src/bufferutil.cc:33:14: note: suggested alternative: ‘Merge’
Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
^~~~~~
Merge
../src/bufferutil.cc:33:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:6475:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
^~~~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:6475:46: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Merge(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:49:49: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> bufferObj = info[0]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:56:39: error: no matching function for call to ‘v8::Array::Get(unsigned int&)’
Local<Object> src = array->Get(i)->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Unmask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:67:50: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> buffer_obj = info[0]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:69:48: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> mask_obj = info[1]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Mask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:88:50: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> buffer_obj = info[0]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:89:48: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> mask_obj = info[1]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:91:50: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> output_obj = info[2]->ToObject();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:92:51: error: no matching function for call to ‘v8::Value::Int32Value()’
unsigned int dataOffset = info[3]->Int32Value();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2869:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2869:40: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc:93:47: error: no matching function for call to ‘v8::Value::Int32Value()’
unsigned int length = info[4]->Int32Value();
^
In file included from ../src/bufferutil.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2869:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2869:40: note: candidate expects 1 argument, 0 provided
../src/bufferutil.cc: At global scope:
../src/bufferutil.cc:114:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
^~~~~~
../src/bufferutil.cc:114:12: error: ‘Handle’ was not declared in this scope
../src/bufferutil.cc:114:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
^~~~~~
rand_r
../src/bufferutil.cc:114:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
^
../src/bufferutil.cc:114:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
^~~~~~
../src/bufferutil.cc:114:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
^~~~~~
tzset
In file included from ../src/bufferutil.cc:8:0:
../src/bufferutil.cc:120:25: error: ‘init’ was not declared in this scope
NODE_MODULE(bufferutil, init)
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’
(node::addon_register_func) (regfunc), \
^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
../src/bufferutil.cc:120:25: note: suggested alternative: ‘int’
NODE_MODULE(bufferutil, init)
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’
(node::addon_register_func) (regfunc), \
^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
bufferutil.target.mk:112: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.15.0-124-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/www/osbenji.de/openhab-cloud/node_modules/bufferutil
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
> ws@0.4.31 install /var/www/osbenji.de/openhab-cloud/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/socket.io-client/node_modules/ws/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
bufferutil.target.mk:113: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/socket.io-client/node_modules/ws/build'
> utf-8-validate@1.2.2 install /var/www/osbenji.de/openhab-cloud/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../node_modules/nan/nan.h:190:0,
from ../src/validation.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../node_modules/nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
return obj->ForceSet(GetCurrentContext(), key, value, attribs);
^~~~~~~~
In file included from ../node_modules/nan/nan_converters.h:59:0,
from ../node_modules/nan/nan.h:195,
from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:15:45: error: no matching function for call to ‘v8::Value::ToBoolean(v8::Local<v8::Context>)’
return val->To ## TYPE(GetCurrentContext()); \
^
../node_modules/nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
X(Boolean)
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2848:18: note: candidate: v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const
Local<Boolean> ToBoolean(Isolate* isolate) const;
^~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2848:18: note: no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_converters.h:59:0,
from ../node_modules/nan/nan.h:195,
from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:31:48: error: no matching function for call to ‘v8::Value::BooleanValue(v8::Local<v8::Context>)’
return val->NAME ## Value(GetCurrentContext()); \
^
../node_modules/nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
X(bool, Boolean)
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2858:8: note: candidate: bool v8::Value::BooleanValue(v8::Isolate*) const
bool BooleanValue(Isolate* isolate) const;
^~~~~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2858:8: note: no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_new.h:189:0,
from ../node_modules/nan/nan.h:196,
from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../node_modules/nan/nan_implementation_12_inl.h:109:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
, obj));
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:4445:31: note: candidate: static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)
static MaybeLocal<Function> New(
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:4445:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../node_modules/nan/nan_new.h:189:0,
from ../node_modules/nan/nan.h:196,
from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
return v8::StringObject::New(value).As<v8::StringObject>();
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:5847:23: note: candidate: static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)
static Local<Value> New(Isolate* isolate, Local<String> value);
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:5847:23: note: candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:189:0,
from ../node_modules/nan/nan.h:196,
from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
return v8::StringObject::New(value).As<v8::StringObject>();
^
../node_modules/nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
return v8::StringObject::New(value).As<v8::StringObject>();
^
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
In file included from ../src/validation.cc:8:0:
/root/.cache/node-gyp/14.15.1/include/node/node.h:191:50: note: declared here
NODE_EXTERN v8::Local<v8::Value> MakeCallback(
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:108:42: note: in definition of macro ‘NODE_DEPRECATED’
__attribute__((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
In file included from ../src/validation.cc:8:0:
/root/.cache/node-gyp/14.15.1/include/node/node.h:184:50: note: declared here
NODE_EXTERN v8::Local<v8::Value> MakeCallback(
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:108:42: note: in definition of macro ‘NODE_DEPRECATED’
__attribute__((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
In file included from ../src/validation.cc:8:0:
/root/.cache/node-gyp/14.15.1/include/node/node.h:177:50: note: declared here
NODE_EXTERN v8::Local<v8::Value> MakeCallback(
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:108:42: note: in definition of macro ‘NODE_DEPRECATED’
__attribute__((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../node_modules/nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
v8::Local<v8::String> string = from->ToString();
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2810:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2810:44: note: candidate expects 1 argument, 0 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h:900:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int, int, const int&)’
length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3037:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
^~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3037:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../node_modules/nan/nan.h:1453:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
In file included from ../src/validation.cc:8:0:
/root/.cache/node-gyp/14.15.1/include/node/node.h:191:50: note: declared here
NODE_EXTERN v8::Local<v8::Value> MakeCallback(
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:108:42: note: in definition of macro ‘NODE_DEPRECATED’
__attribute__((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1507:64: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, const v8::Local<v8::Value>&)’
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate expects 3 arguments, 2 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1513:42: error: no matching function for call to ‘v8::Object::Set(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’
New(persistentHandle)->Set(key, value);
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate expects 3 arguments, 2 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1519:44: error: no matching function for call to ‘v8::Object::Set(uint32_t&, const v8::Local<v8::Value>&)’
New(persistentHandle)->Set(index, value);
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3670:37: note: candidate expects 3 arguments, 2 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3673:37: note: candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1525:61: error: no matching function for call to ‘v8::Object::Get(v8::Local<v8::String>)’
New(persistentHandle)->Get(New(key).ToLocalChecked()));
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../node_modules/nan/nan.h:1531:55: error: no matching function for call to ‘v8::Object::Get(const v8::Local<v8::String>&)’
return scope.Escape(New(persistentHandle)->Get(key));
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../node_modules/nan/nan.h:1536:57: error: no matching function for call to ‘v8::Object::Get(uint32_t&)’
return scope.Escape(New(persistentHandle)->Get(index));
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/7/cassert:44:0,
from /root/.cache/node-gyp/14.15.1/include/node/node_object_wrap.h:26,
from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../node_modules/nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
assert(persistent().IsNearDeath());
^
In file included from ../node_modules/nan/nan.h:2190:0,
from ../src/validation.cc:15:
../node_modules/nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../node_modules/nan/nan_object_wrap.h:67:18: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘MarkIndependent’
persistent().MarkIndependent();
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /root/.cache/node-gyp/14.15.1/include/node/node_object_wrap.h:26,
from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../node_modules/nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
assert(wrap->handle_.IsNearDeath());
^
../src/validation.cc: At global scope:
../src/validation.cc:106:30: error: ‘v8::Handle’ has not been declared
static void Initialize(v8::Handle<v8::Object> target)
^~~~~~
../src/validation.cc:106:36: error: expected ‘,’ or ‘...’ before ‘<’ token
static void Initialize(v8::Handle<v8::Object> target)
^
../src/validation.cc: In static member function ‘static void Validation::Initialize(int)’:
../src/validation.cc:112:14: error: ‘target’ was not declared in this scope
Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
^~~~~~
../src/validation.cc:112:14: note: suggested alternative: ‘tzset’
Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
^~~~~~
tzset
../src/validation.cc:112:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:6475:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
^~~~~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:6475:46: note: candidate expects 1 argument, 0 provided
../src/validation.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Validation::IsValidUTF8(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/validation.cc:131:50: error: no matching function for call to ‘v8::Value::ToObject()’
Local<Object> buffer_obj = info[0]->ToObject();
^
In file included from ../src/validation.cc:7:0:
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
^~~~~~~~
/root/.cache/node-gyp/14.15.1/include/node/v8.h:2822:44: note: candidate expects 1 argument, 0 provided
../src/validation.cc: At global scope:
../src/validation.cc:140:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
^~~~~~
../src/validation.cc:140:12: error: ‘Handle’ was not declared in this scope
../src/validation.cc:140:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
^~~~~~
rand_r
../src/validation.cc:140:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
^
../src/validation.cc:140:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
^~~~~~
../src/validation.cc:140:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
^~~~~~
tzset
In file included from ../src/validation.cc:8:0:
../src/validation.cc:146:25: error: ‘init’ was not declared in this scope
NODE_MODULE(validation, init)
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’
(node::addon_register_func) (regfunc), \
^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc:146:25: note: suggested alternative: ‘int’
NODE_MODULE(validation, init)
^
/root/.cache/node-gyp/14.15.1/include/node/node.h:758:36: note: in definition of macro ‘NODE_MODULE_X’
(node::addon_register_func) (regfunc), \
^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc: In function ‘int is_valid_utf8(size_t, char*)’:
../src/validation.cc:81:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 5 : ch += (uint8_t) value[i++]; ch <<= 6;
~~~^~~~~
../src/validation.cc:82:7: note: here
case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
^~~~
../src/validation.cc:82:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
~~~^~~~~
../src/validation.cc:83:7: note: here
case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
^~~~
../src/validation.cc:83:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
~~~^~~~~
../src/validation.cc:84:7: note: here
case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
^~~~
../src/validation.cc:84:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
~~~^~~~~
../src/validation.cc:85:7: note: here
case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
^~~~
../src/validation.cc:85:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
~~~^~~~~
../src/validation.cc:86:7: note: here
case 0 : ch += (uint8_t) value[i];
^~~~
../src/validation.cc: In function ‘int isLegalUTF8(const uint8_t*, int)’:
../src/validation.cc:51:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
^~
../src/validation.cc:52:5: note: here
case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
^~~~
../src/validation.cc:52:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
^~
../src/validation.cc:53:5: note: here
case 2: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
^~~~
../src/validation.cc:59:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 0xF4: if (a > 0x8F) return 0;
^~
../src/validation.cc:62:5: note: here
case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
^~~~
validation.target.mk:112: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: *** [Release/obj.target/validation/src/validation.o] Error 1
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/utf-8-validate/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.15.0-124-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/www/osbenji.de/openhab-cloud/node_modules/utf-8-validate
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
> bcrypt@1.0.2 install /var/www/osbenji.de/openhab-cloud/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build
node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v83-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.2 and node@14.15.1 (node-v83 ABI) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v83-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.2 and node@14.15.1 (node-v83 ABI) (falling back to source compile with node-gyp)
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/build'
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
make: Entering directory '/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/build'
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
sed: can't read ./Release/.deps/Release/obj.target/bcrypt_lib/src/blowfish.o.d.raw: No such file or directory
rm: cannot remove './Release/.deps/Release/obj.target/bcrypt_lib/src/blowfish.o.d.raw': No such file or directory
bcrypt_lib.target.mk:113: recipe for target 'Release/obj.target/bcrypt_lib/src/blowfish.o' failed
make: *** [Release/obj.target/bcrypt_lib/src/blowfish.o] Error 1
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.15.0-124-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /var/www/osbenji.de/openhab-cloud/node_modules/bcrypt
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/var/www/osbenji.de/openhab-cloud/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1048:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
node-pre-gyp ERR! System Linux 4.15.0-124-generic
node-pre-gyp ERR! command "/usr/bin/node" "/var/www/osbenji.de/openhab-cloud/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /var/www/osbenji.de/openhab-cloud/node_modules/bcrypt
node-pre-gyp ERR! node -v v14.15.1
node-pre-gyp ERR! node-pre-gyp -v v0.6.32
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding' (1)
../src/bcrypt.cc:52:10: fatal error: node_blf.h: No such file or directory
compilation terminated.
bcrypt_lib.target.mk:113: recipe for target 'Release/obj.target/bcrypt_lib/src/bcrypt.o' failed
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt.o] Error 1
make: Leaving directory '/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Linux 4.15.0-124-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/var/www/osbenji.de/openhab-cloud/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /var/www/osbenji.de/openhab-cloud/node_modules/bcrypt
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.2.1 (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.2.1 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.2.2 (node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.2.2 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bcrypt@1.0.2 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@1.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-11-23T15_00_18_826Z-debug.log