dianping / cat

CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
Apache License 2.0
18.62k stars 5.4k forks source link

node.js 12 依赖编译不过去 node.js8版本可以 能否支持一下 #2005

Open eric-zhangqi opened 4 years ago

eric-zhangqi commented 4 years ago

/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here static V8_DEPRECATED( ^ /Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED' declarator attribute((deprecated(message))) ^ ../src/nodecat.cc:21:40: error: no matching member function for call to 'ToString' String::Utf8Value str(args[0]->ToString());


/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:42:97: error: no matching member function for call to 'ToString'
        String::Utf8Value messageType((node->Get(String::NewFromUtf8(isolate, "messageType")))->ToString());
                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:42:58: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
        String::Utf8Value messageType((node->Get(String::NewFromUtf8(isolate, "messageType")))->ToString());
                                                         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:42:46: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
        String::Utf8Value messageType((node->Get(String::NewFromUtf8(isolate, "messageType")))->ToString());
                                             ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:44:87: error: no matching member function for call to 'ToString'
            String::Utf8Value type((node->Get(String::NewFromUtf8(isolate, "type")))->ToString());
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:44:55: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value type((node->Get(String::NewFromUtf8(isolate, "type")))->ToString());
                                                      ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:44:43: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value type((node->Get(String::NewFromUtf8(isolate, "type")))->ToString());
                                          ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:45:87: error: no matching member function for call to 'ToString'
            String::Utf8Value name((node->Get(String::NewFromUtf8(isolate, "name")))->ToString());
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:45:55: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value name((node->Get(String::NewFromUtf8(isolate, "name")))->ToString());
                                                      ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:45:43: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value name((node->Get(String::NewFromUtf8(isolate, "name")))->ToString());
                                          ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:46:91: error: no matching member function for call to 'ToString'
            String::Utf8Value status((node->Get(String::NewFromUtf8(isolate, "status")))->ToString());
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:46:57: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value status((node->Get(String::NewFromUtf8(isolate, "status")))->ToString());
                                                        ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:46:45: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value status((node->Get(String::NewFromUtf8(isolate, "status")))->ToString());
                                            ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:47:87: error: no matching member function for call to 'ToString'
            String::Utf8Value data((node->Get(String::NewFromUtf8(isolate, "data")))->ToString());
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/nodecat.cc:47:55: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value data((node->Get(String::NewFromUtf8(isolate, "data")))->ToString());
                                                      ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:47:43: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            String::Utf8Value data((node->Get(String::NewFromUtf8(isolate, "data")))->ToString());
                                          ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:48:99: error: too few arguments to function call, single argument 'context' was not specified
            double begin = node->Get(String::NewFromUtf8(isolate, "beginTimestamp"))->NumberValue();
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2608:3: note: 'NumberValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/nodecat.cc:48:46: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            double begin = node->Get(String::NewFromUtf8(isolate, "beginTimestamp"))->NumberValue();
                                             ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:48:34: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            double begin = node->Get(String::NewFromUtf8(isolate, "beginTimestamp"))->NumberValue();
                                 ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:49:95: error: too few arguments to function call, single argument 'context' was not specified
            double end = node->Get(String::NewFromUtf8(isolate, "endTimestamp"))->NumberValue();
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2608:3: note: 'NumberValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/nodecat.cc:49:44: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            double end = node->Get(String::NewFromUtf8(isolate, "endTimestamp"))->NumberValue();
                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:49:32: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            double end = node->Get(String::NewFromUtf8(isolate, "endTimestamp"))->NumberValue();
                               ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:58:13: error: use of undeclared identifier 'Handle'
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
            ^
../src/nodecat.cc:58:20: error: 'Array' does not refer to a value
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                   ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3845:17: note: declared here
class V8_EXPORT Array : public Object {
                ^
../src/nodecat.cc:58:27: error: use of undeclared identifier 'children'
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                          ^
../src/nodecat.cc:58:38: error: use of undeclared identifier 'Handle'
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                                     ^
../src/nodecat.cc:58:45: error: 'Array' does not refer to a value
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                                            ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3845:17: note: declared here
class V8_EXPORT Array : public Object {
                ^
../src/nodecat.cc:58:76: warning: 'NewFromUtf8' is deprecated: Use maybe version [-Wdeprecated-declarations]
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                                                                           ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:2934:10: note: 'NewFromUtf8' has been explicitly marked deprecated here
  static V8_DEPRECATED(
         ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:58:64: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                                                               ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
../src/nodecat.cc:58:53: error: no member named 'Cast' in the global namespace
            Handle<Array> children = Handle<Array>::Cast(node->Get(String::NewFromUtf8(isolate, "children")));
                                                  ~~^
../src/nodecat.cc:59:25: error: use of undeclared identifier 'children'
            int count = children->Length();
                        ^
../src/nodecat.cc:61:40: error: use of undeclared identifier 'Handle'
                InnerSendNode(isolate, Handle<Object>::Cast(children->Get(i)));
                                       ^
../src/nodecat.cc:61:47: error: 'Object' does not refer to a value
                InnerSendNode(isolate, Handle<Object>::Cast(children->Get(i)));
                                              ^
/Users/qizhang/.node-gyp/12.13.1/include/node/v8.h:3400:17: note: declared here
class V8_EXPORT Object : public Value {
                ^
../src/nodecat.cc:61:56: error: no member named 'Cast' in the global namespace
                InnerSendNode(isolate, Handle<Object>::Cast(children->Get(i)));
                                                     ~~^
../src/nodecat.cc:61:61: error: use of undeclared identifier 'children'
                InnerSendNode(isolate, Handle<Object>::Cast(children->Get(i)));
                                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
17 warnings and 20 errors generated.
make: *** [Release/obj.target/nodecat/src/nodecat.o] Error 1
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/cnpm/node_modules/_node-gyp@3.8.0@node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/cnpm/node_modules/_npminstall@3.23.0@npminstall/node-gyp-bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/qizhang/Workplace/sardine/SardineIMServer/node_modules/_@dp-cat_client@3.1.2@@dp-cat/client
gyp ERR! node -v v12.13.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
[npminstall:runscript:error] @dp-cat/client@^3.1.2 has binding.gyp file, run "node-gyp rebuild" error: Error [RunScriptError]: Run "sh -c node-gyp rebuild" error, exit code 1
    at ChildProcess.<anonymous> (/usr/local/lib/node_modules/cnpm/node_modules/_runscript@1.4.0@runscript/index.js:96:21)
    at ChildProcess.emit (events.js:210:5)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) {
  name: 'RunScriptError',
  stdio: [Object]
}
eric-zhangqi commented 4 years ago

我看到日志node已经修复了node 12的版本,但是版本还是3.1.2 npm市场的版本还是老的代码,请发布一下3.1.2+到npm市场吧

koala-coding commented 4 years ago

应该没问题的,可以编译过去,我这里成功了