Search code examples
firebasenpmgyp

gyp and node-pre-gyp fail when installing firebase with npm


I'm trying to install my dependencies with npm but installation fails when firebase installation comes in. I tried to install firebase individually with npm i firebase but it does not work. I removed the node_modules folder, cleaned the cache and install again but it does not work either.

The first error npm shows me is a 403 error code when downloading grpc-precompiled-binaries. I thinks this one is the main problem and in it depends the next errors but I'm not sure. Could someone tell me how to successfully install firebase with npm?

OUTPUT:

node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.7.2/node-v57-linux-x64-musl.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v57 ABI, musl) (falling back to source compile with node-gyp) 
node-pre-gyp http 403 status code downloading tarball https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.7.2/node-v57-linux-x64-musl.tar.gz 
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info ok 
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (/app/node_modules/node-gyp/lib/configure.js:483:19)
gyp ERR! stack     at PythonFinder.<anonymous> (/app/node_modules/node-gyp/lib/configure.js:397:16)
gyp ERR! stack     at F (/app/node_modules/which/which.js:68:16)
gyp ERR! stack     at E (/app/node_modules/which/which.js:80:29)
gyp ERR! stack     at /app/node_modules/which/which.js:89:16
gyp ERR! stack     at /app/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /app/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:153:21)
gyp ERR! System Linux 4.4.0-101-generic
gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--library=static_library" "--module=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl/grpc_node.node" "--module_name=grpc_node" "--module_path=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl"
gyp ERR! cwd /app/node_modules/grpc
gyp ERR! node -v v8.5.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /app/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --library=static_library --module=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl/grpc_node.node --module_name=grpc_node --module_path=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/app/node_modules/grpc/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:125:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:927:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.4.0-101-generic
node-pre-gyp ERR! command "/usr/local/bin/node" "/app/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--library=static_library"
node-pre-gyp ERR! cwd /app/node_modules/grpc
node-pre-gyp ERR! node -v v8.5.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok 
Failed to execute '/usr/local/bin/node /app/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --library=static_library --module=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl/grpc_node.node --module_name=grpc_node --module_path=/app/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-musl' (1)
npm info lifecycle [email protected]~install: Failed to exec install script
npm WARN [email protected] requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
npm WARN [email protected] requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build --library=static_library`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Last part of log file

3366 info lifecycle [email protected]~install: [email protected]
3367 silly install [email protected]
3368 info lifecycle [email protected]~install: [email protected]
3369 verbose lifecycle [email protected]~install: unsafe-perm in lifecycle false
3370 verbose lifecycle [email protected]~install: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/app/node_modules/grpc/node_modules/.bin:/app/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
3371 verbose lifecycle [email protected]~install: CWD: /app/node_modules/grpc
3372 silly lifecycle [email protected]~install: Args: [ '-c',
3372 silly lifecycle   'node-pre-gyp install --fallback-to-build --library=static_library' ]
3373 silly lifecycle [email protected]~install: Returned: code: 1  signal: null
3374 info lifecycle [email protected]~install: Failed to exec install script
3375 verbose unlock done using /root/.npm/_locks/staging-bd3355550c5a469e.lock for /app/node_modules/.staging
3376 warn [email protected] requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
3377 warn [email protected] requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none was installed.
3378 warn optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
3379 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
3380 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
3380 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
3380 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   linux
3380 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
3381 verbose stack Error: [email protected] install: `node-pre-gyp install --fallback-to-build --library=static_library`
3381 verbose stack Exit status 1
3381 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:289:16)
3381 verbose stack     at emitTwo (events.js:125:13)
3381 verbose stack     at EventEmitter.emit (events.js:213:7)
3381 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
3381 verbose stack     at emitTwo (events.js:125:13)
3381 verbose stack     at ChildProcess.emit (events.js:213:7)
3381 verbose stack     at maybeClose (internal/child_process.js:927:16)
3381 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
3382 verbose pkgid [email protected]
3383 verbose cwd /app
3384 verbose Linux 4.4.0-101-generic
3385 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "i" "firebase"
3386 verbose node v8.5.0
3387 verbose npm  v5.3.0
3388 error code ELIFECYCLE
3389 error errno 1
3390 error [email protected] install: `node-pre-gyp install --fallback-to-build --library=static_library`
3390 error Exit status 1
3391 error Failed at the [email protected] install script.
3391 error This is probably not a problem with npm. There is likely additional logging output above.
3392 verbose exit [ 1, true ]

ENV:

OS: Ubuntu 16.04

npm: 5.3.0

node: 8.5.0


Solution

  • UPDATE:

    This answer allowed me to get my app up and running inside my alpine container. Try running this code in your development environment. Hope this helps.

    Ran into the same issue this morning. Looks like the precompiled grpc1.7.2 hasn't been uploaded for musl based distributions (alpine is musl vs glibc)

    For the short term, to get your build going again, and until they upload the precompiled versions, try adding this to your dockerfile

     apk update && apk upgrade &&
       apk add --no-cache python make g++
    

    python, make and g++ basically allow node-gyp to compile from source rather than >relying on the precompiled versions


    I am running into the same problem while creating a docker image. I have noticed that when using the Linux-alpine node base image, that I get this error. However, when using the standard node (I think Ubuntu 14.04) base image it works fine. What OS are you using? I hope you find a solution!