Sorry if this has been asked/answered before. Similar questions I found over google either had open tickets, or people suggested downgrading dependencies. I am unclear as to why the build is failing, when it seems to be working properly on my local machine.
Thanks for any help you can provide!
Counting objects: 28, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (26/26), done.
Writing objects: 100% (28/28), 2.72 KiB | 0 bytes/s, done.
Total 28 (delta 19), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:
remote: NPM_CONFIG_LOGLEVEL=error
remote: NPM_CONFIG_PRODUCTION=true
remote: NODE_ENV=production
remote: NODE_MODULES_CACHE=true
remote:
remote: -----> Installing binaries
remote: engines.node (package.json): 4.1.1
remote: engines.npm (package.json): 2.14.4
remote:
remote: Downloading and installing node 4.1.1...
remote: npm 2.14.4 already installed with node
remote:
remote: -----> Restoring cache
remote: Skipping cache (new runtime signature)
remote:
remote: -----> Building dependencies
remote: Pruning any extraneous modules
remote: Installing node modules (package.json)
remote:
remote: > [email protected] install /tmp/build_506a4990caa900fce789184be89dc03b/node_modules/gulp-sass/node_modules/node-sass
remote: > node build.js
remote:
remote: (node) child_process: options.customFds option is deprecated. Use options.stdio instead.
remote: make: Entering directory `/tmp/build_506a4990caa900fce789184be89dc03b/node_modules/gulp-sass/node_modules/node-sass/build'
remote: CXX(target) Release/obj.target/binding/binding.o
remote: In file included from ../binding.cpp:1:0:
remote: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Signature> NanNew(v8::Handle<v8::FunctionTemplate>, int, v8::Handle<v8::FunctionTemplate>*)’:
remote: ../node_modules/nan/nan.h:189:78: error: no matching function for call to ‘v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>&, int&, v8::Handle<v8::FunctionTemplate>*&)’
remote: return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
remote: ^
remote: ../node_modules/nan/nan.h:189:78: note: candidate is:
remote: In file included from /app/.node-gyp/4.1.1/include/node/node.h:42:0,
remote: from ../node_modules/nan/nan.h:23,
remote: from ../binding.cpp:1:
remote: /app/.node-gyp/4.1.1/include/node/v8.h:4675:27: note: static v8::Local<v8::Signature> v8::Signature::New(v8::Isolate*, v8::Local<v8::FunctionTemplate>)
remote: static Local<Signature> New(
remote: ^
remote: /app/.node-gyp/4.1.1/include/node/v8.h:4675:27: note: candidate expects 2 arguments, 4 provided
remote: In file included from ../binding.cpp:1:0:
remote: ../node_modules/nan/nan.h: At global scope:
remote: ../node_modules/nan/nan.h:271:3: error: redefinition of ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’
remote: NanNew<v8::StringObject, v8::Handle<v8::String> >(
remote: ^
remote: ../node_modules/nan/nan.h:264:3: error: ‘v8::Local<T> NanNew(P) [with T = v8::StringObject; P = v8::Local<v8::String>]’ previously declared here
remote: NanNew<v8::StringObject, v8::Local<v8::String> >(
remote: ^
remote: ../node_modules/nan/nan.h:289:36: error: redefinition of ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Local<v8::String>, v8::RegExp::Flags)’
remote: NAN_INLINE v8::Local<v8::RegExp> NanNew(
remote: ^
remote: ../node_modules/nan/nan.h:283:36: error: ‘template<class T> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here
remote: NAN_INLINE v8::Local<v8::RegExp> NanNew(
remote: ^
remote: ../node_modules/nan/nan.h:301:36: error: redefinition of ‘template<class T, class P> v8::Local<v8::RegExp> NanNew(v8::Local<v8::String>, v8::RegExp::Flags)’
remote: NAN_INLINE v8::Local<v8::RegExp> NanNew(
remote: ^
remote: ../node_modules/nan/nan.h:295:36: error: ‘template<class T, class P> v8::Local<v8::RegExp> NanNew(v8::Handle<v8::String>, v8::RegExp::Flags)’ previously declared here
remote: NAN_INLINE v8::Local<v8::RegExp> NanNew(
remote: ^
remote: ../node_modules/nan/nan.h:481:19: error: ‘NanNew’ declared as an ‘inline’ variable
remote: v8::String::ExternalAsciiStringResource *resource) {
remote: ^
remote: ../node_modules/nan/nan.h:481:19: warning: ‘always_inline’ attribute ignored [-Wattributes]
remote: ../node_modules/nan/nan.h:481:19: error: ‘v8::Local<v8::String> NanNew’ redeclared as different kind of symbol
remote: ../node_modules/nan/nan.h:475:36: error: previous declaration of ‘v8::Local<v8::String> NanNew(v8::String::ExternalStringResource*)’
remote: NAN_INLINE v8::Local<v8::String> NanNew(
remote: ^
remote: ../node_modules/nan/nan.h:481:7: error: ‘ExternalAsciiStringResource’ is not a member of ‘v8::String’
remote: v8::String::ExternalAsciiStringResource *resource) {
remote: ^
remote: ../node_modules/nan/nan.h:481:48: error: ‘resource’ was not declared in this scope
remote: v8::String::ExternalAsciiStringResource *resource) {
remote: ^
remote: ../node_modules/nan/nan.h:495:27: error: redefinition of ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Local<T>)’
remote: NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Local<T> val) {
remote: ^
remote: ../node_modules/nan/nan.h:490:27: error: ‘template<class T> v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T>)’ previously declared here
remote: NAN_INLINE v8::Local<T> _NanEscapeScopeHelper(v8::Handle<T> val) {
remote: ^
remote: ../node_modules/nan/nan.h:755:13: error: ‘node::smalloc’ has not been declared
remote: , node::smalloc::FreeCallback callback
remote: ^
remote: ../node_modules/nan/nan.h:755:35: error: expected ‘,’ or ‘...’ before ‘callback’
remote: , node::smalloc::FreeCallback callback
remote: ^
remote: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
remote: ../node_modules/nan/nan.h:759:50: error: ‘callback’ was not declared in this scope
remote: v8::Isolate::GetCurrent(), data, length, callback, hint);
remote: ^
remote: ../node_modules/nan/nan.h:759:60: error: ‘hint’ was not declared in this scope
remote: v8::Isolate::GetCurrent(), data, length, callback, hint);
remote: ^
remote: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
remote: ../node_modules/nan/nan.h:766:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
remote: return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
remote: ^
remote: ../node_modules/nan/nan.h:766:67: note: candidates are:
remote: In file included from ../node_modules/nan/nan.h:24:0,
remote: from ../binding.cpp:1:
remote: /app/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
remote: NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
remote: ^
remote: /app/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
remote: /app/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
remote: NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
remote: ^
remote: /app/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: no known conversion for argument 2 from ‘const char*’ to ‘char*’
remote: In file included from ../binding.cpp:1:0:
remote: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
remote: ../node_modules/nan/nan.h:770:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
remote: return node::Buffer::New(v8::Isolate::GetCurrent(), size);
remote: ^
remote: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
remote: ../node_modules/nan/nan.h:777:12: error: ‘Use’ is not a member of ‘node::Buffer’
remote: return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
remote: ^
remote: ../node_modules/nan/nan.h: In function ‘bool _NanGetExternalParts(v8::Handle<v8::Value>, const char**, size_t*)’:
remote: ../node_modules/nan/nan.h:2103:12: error: ‘class v8::String’ has no member named ‘IsExternalAscii’
remote: if (str->IsExternalAscii()) {
remote: ^
remote: ../node_modules/nan/nan.h:2104:11: error: ‘ExternalAsciiStringResource’ in ‘class v8::String’ does not name a type
remote: const v8::String::ExternalAsciiStringResource* ext;
remote: ^
remote: ../node_modules/nan/nan.h:2105:5: error: ‘ext’ was not declared in this scope
remote: ext = str->GetExternalAsciiStringResource();
remote: ^
remote: ../node_modules/nan/nan.h:2105:16: error: ‘class v8::String’ has no member named ‘GetExternalAsciiStringResource’
remote: ext = str->GetExternalAsciiStringResource();
remote: ^
remote: ../binding.cpp: In function ‘void MakeCallback(uv_work_t*)’:
remote: ../binding.cpp:138:35: warning: ‘void node::FatalException(const v8::TryCatch&)’ is deprecated (declared at /app/.node-gyp/4.1.1/include/node/node.h:282): Use FatalException(isolate, ...) [-Wdeprecated-declarations]
remote: node::FatalException(try_catch);
remote: ^
remote: make: *** [Release/obj.target/binding/binding.o] Error 1
remote: make: Leaving directory `/tmp/build_506a4990caa900fce789184be89dc03b/node_modules/gulp-sass/node_modules/node-sass/build'
remote: gyp ERR! build error
remote: gyp ERR! stack Error: `make` failed with exit code: 2
remote: gyp ERR! stack at ChildProcess.onExit (/tmp/build_506a4990caa900fce789184be89dc03b/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
remote: gyp ERR! stack at emitTwo (events.js:87:13)
remote: gyp ERR! stack at ChildProcess.emit (events.js:172:7)
remote: gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
remote: gyp ERR! System Linux 3.13.0-61-generic
remote: gyp ERR! command "/tmp/build_506a4990caa900fce789184be89dc03b/.heroku/node/bin/node" "/tmp/build_506a4990caa900fce789184be89dc03b/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
remote: gyp ERR! cwd /tmp/build_506a4990caa900fce789184be89dc03b/node_modules/gulp-sass/node_modules/node-sass
remote: gyp ERR! node -v v4.1.1
remote: gyp ERR! node-gyp -v v3.0.3
remote: gyp ERR! not ok
remote: Build failed
remote: npm ERR! Linux 3.13.0-61-generic
remote: npm ERR! argv "/tmp/build_506a4990caa900fce789184be89dc03b/.heroku/node/bin/node" "/tmp/build_506a4990caa900fce789184be89dc03b/.heroku/node/bin/npm" "install" "--unsafe-perm" "--userconfig" "/tmp/build_506a4990caa900fce789184be89dc03b/.npmrc"
remote: npm ERR! node v4.1.1
remote: npm ERR! npm v2.14.4
remote: npm ERR! code ELIFECYCLE
remote:
remote: npm ERR! [email protected] install: `node build.js`
remote: npm ERR! Exit status 1
remote: npm ERR!
remote: npm ERR! Failed at the [email protected] install script 'node build.js'.
remote: npm ERR! This is most likely a problem with the node-sass package,
remote: npm ERR! not with npm itself.
remote: npm ERR! Tell the author that this fails on your system:
remote: npm ERR! node build.js
remote: npm ERR! You can get their info via:
remote: npm ERR! npm owner ls node-sass
remote: npm ERR! There is likely additional logging output above.
remote:
remote: npm ERR! Please include the following file with any support request:
remote: npm ERR! /tmp/build_506a4990caa900fce789184be89dc03b/npm-debug.log
remote:
remote: -----> Build failed
remote:
remote: We're sorry this build is failing! You can troubleshoot common issues here:
remote: https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote: If you're stuck, please submit a ticket so we can help:
remote: https://help.heroku.com/
remote:
remote: Love,
remote: Heroku
remote:
remote:
remote: ! Push rejected, failed to compile Node.js app
remote:
remote: Verifying deploy....
remote:
remote: ! Push rejected to [REPOSITORY].
remote:
To https://git.heroku.com/[REPOSITORY].git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/[REPOSITORY].git'
I had exactly the same problem. Downgrading the node
version from 4.1.1
to 0.12.2
fixes the problem for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With