In file included from /root/.node-gyp/18.3.0/include/node/v8-local-handle.h:12, from /root/.node-gyp/18.3.0/include/node/v8-array-buffer.h:12, from /root/.node-gyp/18.3.0/include/node/v8.h:24, from /root/.node-gyp/18.3.0/include/node/node.h:73, from ../node_modules/nan/nan.h:56, from ../src/binding.cpp:1: /root/.node-gyp/18.3.0/include/node/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’: /root/.node-gyp/18.3.0/include/node/v8-internal.h:646:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’? 646 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); | ^~~~~~~~~~~ | remove_cv /root/.node-gyp/18.3.0/include/node/v8-internal.h:646:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’? 646 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); | ^~~~~~~~~~~ | remove_cv /root/.node-gyp/18.3.0/include/node/v8-internal.h:646:50: error: template argument 2 is invalid 646 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); | ^ /root/.node-gyp/18.3.0/include/node/v8-internal.h:646:63: error: ‘::Perform’ has not been declared 646 | !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); | ^~~~~~~