Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

构建失败,nodejs环境问题? #31

Open
vvx1024 opened this issue Feb 6, 2020 · 4 comments
Open

构建失败,nodejs环境问题? #31

vvx1024 opened this issue Feb 6, 2020 · 4 comments

Comments

@vvx1024
Copy link

vvx1024 commented Feb 6, 2020

-----> Node.js app detected

-----> Creating runtime environment

   NPM_CONFIG_LOGLEVEL=error
   NODE_ENV=production
   NODE_MODULES_CACHE=true
   NODE_VERBOSE=false

-----> Installing binaries
engines.node (package.json): unspecified
engines.npm (package.json): unspecified (use default)

   Resolving node version 12.x...
   Downloading and installing node 12.15.0...
   Using default npm version: 6.13.4

-----> Installing dependencies
Installing node modules (package.json)

   > bufferutil@3.0.5 install /tmp/build_949ae318edeafd672dc35c0c22cd1db6/node_modules/bufferutil
   > prebuild-install || node-gyp rebuild
   
   make: Entering directory '/tmp/build_949ae318edeafd672dc35c0c22cd1db6/node_modules/bufferutil/build'
     CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
   In file included from ../../nan/nan_converters.h:67:0,
                    from ../../nan/nan.h:202,
                    from ../src/bufferutil.cc:7:
   ../../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>)’:
   ../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
          val->To ## TYPE(isolate->GetCurrentContext())                            \
                                                      ^
   ../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
    X(Boolean)
    ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2568:59: note: declared here
                    V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                              ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../../nan/nan_converters.h:67:0,
                    from ../../nan/nan.h:202,
                    from ../src/bufferutil.cc:7:
   ../../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>)’:
   ../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
      return val->NAME ## Value(isolate->GetCurrentContext());                     \
                                                            ^
   ../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
    X(bool, Boolean)
    ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2606:51: note: declared here
                    V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                      ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../../nan/nan_new.h:189:0,
                    from ../../nan/nan.h:203,
                    from ../src/bufferutil.cc:7:
   ../../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>)’:
   ../../nan/nan_implementation_12_inl.h:105: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 /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:4170: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(
                                  ^~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:4170:31: note:   no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
   In file included from ../../nan/nan_new.h:189:0,
                    from ../../nan/nan.h:203,
                    from ../src/bufferutil.cc:7:
   ../../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>)’:
   ../../nan/nan_implementation_12_inl.h:337: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 /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:5426: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);
                          ^~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:5426:23: note:   candidate expects 2 arguments, 1 provided
   In file included from ../../nan/nan_new.h:189:0,
                    from ../../nan/nan.h:203,
                    from ../src/bufferutil.cc:7:
   ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token
      return v8::StringObject::New(value).As<v8::StringObject>();
                                                             ^
   ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token
      return v8::StringObject::New(value).As<v8::StringObject>();
                                                               ^
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
   ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’
          v8::Local<v8::String> string = from->ToString();
                                                        ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2572:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const
      V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                               ^~~~~~~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2572:44: note:   candidate expects 1 argument, 0 provided
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2588:31: note: candidate: v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const
                    Local<String> ToString(Isolate* isolate) const);
                                  ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2588:31: note:   candidate expects 1 argument, 0 provided
                    Local<String> ToString(Isolate* isolate) const);
                                  ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h:1044: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 /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2782:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
      int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
          ^~~~~~~~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2782:7: note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
   ../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
        New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                   ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3403:22: note: declared here
                    bool Set(Local<Value> key, Local<Value> value));
                         ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
   ../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
        New(persistentHandle)->Set(key, value);
                                             ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3403:22: note: declared here
                    bool Set(Local<Value> key, Local<Value> value));
                         ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
   ../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
        New(persistentHandle)->Set(index, value);
                                               ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3412:22: note: declared here
                    bool Set(uint32_t index, Local<Value> value));
                         ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
   ../../nan/nan.h:1836:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
            New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                                ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3457:51: note: declared here
      V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                      ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
   ../../nan/nan.h:1842:55: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
        return scope.Escape(New(persistentHandle)->Get(key));
                                                          ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3457:51: note: declared here
      V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                      ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from ../src/bufferutil.cc:7:0:
   ../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
   ../../nan/nan.h:1847:57: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
        return scope.Escape(New(persistentHandle)->Get(index));
                                                            ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:3461:51: note: declared here
      V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                      ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from /usr/include/c++/7/cassert:44:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:26,
                    from ../../nan/nan.h:53,
                    from ../src/bufferutil.cc:7:
   ../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
   ../../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 ../../nan/nan.h:2657:0,
                    from ../src/bufferutil.cc:7:
   ../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
   ../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: Weak objects are always considered independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object alive. [-Wdeprecated-declarations]
        persistent().MarkIndependent();
                                     ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                    from /app/.cache/node-gyp/12.15.0/include/node/node.h:63,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:567:22: note: declared here
          V8_INLINE void MarkIndependent());
                         ^
   /app/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
      declarator __attribute__((deprecated(message)))
      ^~~~~~~~~~
   In file included from /usr/include/c++/7/cassert:44:0,
                    from /app/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:26,
                    from ../../nan/nan.h:53,
                    from ../src/bufferutil.cc:7:
   ../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
   ../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
        assert(wrap->handle_.IsNearDeath());
                             ^
   ../src/bufferutil.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE mask(Nan::NAN_METHOD_ARGS_TYPE)’:
   ../src/bufferutil.cc:12:64: error: no matching function for call to ‘v8::Value::Int32Value()’
      char* to = node::Buffer::Data(info[2]) + info[3]->Int32Value();
                                                                   ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2613: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;
                                           ^~~~~~~~~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
   ../src/bufferutil.cc:13:39: error: no matching function for call to ‘v8::Value::Int32Value()’
      size_t length = info[4]->Int32Value();
                                          ^
   In file included from /app/.cache/node-gyp/12.15.0/include/node/node.h:63:0,
                    from ../../nan/nan.h:51,
                    from ../src/bufferutil.cc:7:
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2613: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;
                                           ^~~~~~~~~~
   /app/.cache/node-gyp/12.15.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
   bufferutil.target.mk:109: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
   make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
   make: Leaving directory '/tmp/build_949ae318edeafd672dc35c0c22cd1db6/node_modules/bufferutil/build'
   gyp ERR! build error 
   gyp ERR! stack Error: `make` failed with exit code: 2
   gyp ERR! stack     at ChildProcess.onExit (/tmp/build_949ae318edeafd672dc35c0c22cd1db6/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
   gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
   gyp ERR! System Linux 4.4.0-1057-aws
   gyp ERR! command "/tmp/build_949ae318edeafd672dc35c0c22cd1db6/.heroku/node/bin/node" "/tmp/build_949ae318edeafd672dc35c0c22cd1db6/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
   gyp ERR! cwd /tmp/build_949ae318edeafd672dc35c0c22cd1db6/node_modules/bufferutil
   gyp ERR! node -v v12.15.0
   gyp ERR! node-gyp -v v5.0.5
   gyp ERR! not ok 
   npm ERR! code ELIFECYCLE
   npm ERR! errno 1
   npm ERR! bufferutil@3.0.5 install: `prebuild-install || node-gyp rebuild`
   npm ERR! Exit status 1
   npm ERR! 
   npm ERR! Failed at the bufferutil@3.0.5 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!     /tmp/npmcache.raheP/_logs/2020-02-06T09_24_13_865Z-debug.log

-----> Build failed

   We're sorry this build is failing! You can troubleshoot common issues here:
   https://devcenter.heroku.com/articles/troubleshooting-node-deploys
   
   Some possible problems:
   
   - Node version not specified in package.json
     https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
   
   Love,
   Heroku

! Push rejected, failed to compile Node.js app.
! Push failed

@zouchao
Copy link

zouchao commented Mar 17, 2020

"engines": {
"node": "10.x"
},

这个写在哪里?

@shakilofficial0
Copy link

still facing same problam

@angsheng
Copy link

angsheng commented Jul 4, 2021

"engines": {
"node": "10.x"
},

这个写在哪里?

写在 package.json 内

@NBSOD
Copy link

NBSOD commented Feb 17, 2022

package.json 增加

"engines": {
"node": "10.x"
},

这个写在哪里?

写在 package.json 内部署成功,感谢大佬

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants