gyp и node-pre-gyp терпят неудачу при установке firebase с npm

Я пытаюсь установить свои зависимости с помощью npm, но при установке firebase происходит сбой установки. Я пытался установить firebase индивидуально с помощью npm i firebase, но это не работает. Я удалил папку node_modules, почистил кеш и установил заново, но тоже не работает.

Первая ошибка, которую показывает мне npm, — это код ошибки 403 при загрузке предварительно скомпилированных двоичных файлов grpc. Я думаю, что это основная проблема, и от этого зависят следующие ошибки, но я не уверен. Может ли кто-нибудь сказать мне, как успешно установить firebase с помощью npm?

ВЫВОД:

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.

Последняя часть файла журнала

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 ]

ОКРУГ:

ОС: Убунту 16.04

нпм: 5.3.0

узел: 8.5.0


person CCarlos    schedule 05.12.2017    source источник


Ответы (1)


ОБНОВИТЬ:

Этот ответ позволил мне запустить мое приложение внутри моего альпийского контейнера. Попробуйте запустить этот код в своей среде разработки. Надеюсь это поможет.

Сегодня утром столкнулся с той же проблемой. Похоже, что предварительно скомпилированный grpc1.7.2 не был загружен для дистрибутивов на основе musl (alpine — это musl, а не glibc)

В краткосрочной перспективе, чтобы ваша сборка снова заработала, и пока они не загрузят предварительно скомпилированные версии, попробуйте добавить это в свой файл докеров.

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

python, make и g++ в основном позволяют node-gyp компилироваться из исходного кода, а не > полагаться на предварительно скомпилированные версии


Я сталкиваюсь с той же проблемой при создании образа докера. Я заметил, что при использовании базового образа узла Linux-alpine я получаю эту ошибку. Однако при использовании базового образа стандартного узла (я думаю, Ubuntu 14.04) он работает нормально. Какую ОС вы используете? Я надеюсь, что вы найдете решение!

person Jordan Hensley    schedule 06.12.2017
comment
Спасибо, теперь работает нормально. Моя основная ОС — Ubuntu, но в моем контейнере стоит alpine. - person CCarlos; 08.12.2017