Vscode: Doesn't build with Node 10

Created on 6 May 2018  Â·  4Comments  Â·  Source: microsoft/vscode

error [email protected]: The engine "node" is incompatible with this module. Expected version ">=4 <=9"

Most helpful comment

So maybe keep the issue open until VSC is able to be built using current(10.x) nodejs?

I would like to track when this changes.

All 4 comments

If you run yarn config set ignore-engines true, you could get pass that part. However, nsfw will still fail to build.

[1/1] â ˆ nsfw: make: *** Waiting for unfinished jobs....
[-/1] â ˆ waiting...
[-/1] â ˆ waiting...
[-/1] â ˆ waiting...
error /tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info spawn /usr/bin/python2
gyp info spawn args [ '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/jambon/.node-gyp/10.0.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/jambon/.node-gyp/10.0.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/jambon/.node-gyp/10.0.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw/build'
  CC(target) Release/obj.target/openpa/openpa/src/opa_primitives.o
  CC(target) Release/obj.target/openpa/openpa/src/opa_queue.o
  AR(target) Release/obj.target/openpa/openpa.a
  COPY Release/openpa.a
  CXX(target) Release/obj.target/nsfw/src/NSFW.o
  CXX(target) Release/obj.target/nsfw/src/Queue.o
  CXX(target) Release/obj.target/nsfw/src/NativeInterface.o
  CXX(target) Release/obj.target/nsfw/src/Lock.o
  CXX(target) Release/obj.target/nsfw/src/linux/InotifyEventLoop.o
  CXX(target) Release/obj.target/nsfw/src/linux/InotifyTree.o
  CXX(target) Release/obj.target/nsfw/src/linux/InotifyService.o
In file included from ../../nan/nan.h:192:0,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
../../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)’:
../../nan/nan_maybe_43_inl.h:112:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
   return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
               ^~~~~~~~
In file included from ../src/../includes/NSFW.h:5:0,
                 from ../src/NSFW.cpp:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:835: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 ../../nan/nan.h:49:0,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/node.h:172:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/jambon/.node-gyp/10.0.0/include/node/node.h:88:42: note: in definition of macro ‘NODE_DEPRECATED’
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/../includes/NSFW.h:5:0,
                 from ../src/NSFW.cpp:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:850: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 ../../nan/nan.h:49:0,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/node.h:165:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/jambon/.node-gyp/10.0.0/include/node/node.h:88:42: note: in definition of macro ‘NODE_DEPRECATED’
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/../includes/NSFW.h:5:0,
                 from ../src/NSFW.cpp:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:865: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 ../../nan/nan.h:49:0,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/node.h:158:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/jambon/.node-gyp/10.0.0/include/node/node.h:88:42: note: in definition of macro ‘NODE_DEPRECATED’
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
In file included from ../src/../includes/NSFW.h:5:0,
                 from ../src/NSFW.cpp:1:
../../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’:
../../nan/nan.h:1479: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 ../../nan/nan.h:49:0,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/node.h:172:50: note: declared here
                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                  ^
/home/jambon/.node-gyp/10.0.0/include/node/node.h:88:42: note: in definition of macro ‘NODE_DEPRECATED’
     __attribute__((deprecated(message))) declarator
                                          ^~~~~~~~~~
../src/NSFW.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE NSFW::JSNew(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/NSFW.cpp:159:49: error: no matching function for call to ‘v8::Function::NewInstance()’
     info.GetReturnValue().Set(cons->NewInstance());
                                                 ^
In file included from /home/jambon/.node-gyp/10.0.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:49,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/v8.h:3848: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/jambon/.node-gyp/10.0.0/include/node/v8.h:3848:44: note:   candidate expects 3 arguments, 0 provided
/home/jambon/.node-gyp/10.0.0/include/node/v8.h:3851:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/jambon/.node-gyp/10.0.0/include/node/v8.h:3851:44: note:   candidate expects 1 argument, 0 provided
../src/NSFW.cpp:177:54: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
   v8::String::Utf8Value utf8Value(info[1]->ToString());
                                                      ^
In file included from /home/jambon/.node-gyp/10.0.0/include/node/v8.h:26:0,
                 from /home/jambon/.node-gyp/10.0.0/include/node/node.h:63,
                 from ../../nan/nan.h:49,
                 from ../src/../includes/NSFW.h:5,
                 from ../src/NSFW.cpp:1:
/home/jambon/.node-gyp/10.0.0/include/node/v8.h:2822:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/jambon/.node-gyp/10.0.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
make: *** [nsfw.target.mk:122: Release/obj.target/nsfw/src/NSFW.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory '/tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw/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/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:225:12)
gyp ERR! System Linux 4.16.6-1-ARCH
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /tmp/trizen-jambon/code/src/vscode/build/lib/watch/node_modules/nsfw
gyp ERR! node -v v10.0.0

Yeah, it says right there on our Contribution page:

Node.JS, >= 8.9.1, < 9.0.0

https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites

So maybe keep the issue open until VSC is able to be built using current(10.x) nodejs?

I would like to track when this changes.

According to node release schedule, node 10 is an LTS release, should be supported, right?

"v10": {
  "start": "2018-04-24",
  "lts": "2018-10-01",
  "maintenance": "2020-04-01",
  "end": "2021-04-01",
  "codename": ""
},
Was this page helpful?
0 / 5 - 0 ratings