Не могу установить модули - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь установить ffmpeg-binaries, он работает совершенно локально, но когда я захожу в hiroku, он начинает говорить, что он не может найти модули.

Это для бота Discord, использующего node.js. Я пытался установить с помощью npm другие ffmpeg, но только те, которые работают без реализации самого ffmpeg

Установка узловых модулей (package.json + package-lock)

   > lzma-native@3.0.8 install /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native
   > node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build

   node-pre-gyp ERR! Tried to download(404): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v67-linux-x64.tar.gz 
   node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@11.6.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
   node-pre-gyp ERR! Tried to download(undefined): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v67-linux-x64.tar.gz 
   node-pre-gyp ERR! Pre-built binaries not found for lzma-native@3.0.8 and node@11.6.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
   gyp: Call to 'sh liblzma-config.sh "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/build" "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/deps/xz-5.2.3.tar.bz2"' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
   gyp ERR! configure error 
   gyp ERR! stack Error: `gyp` failed with exit code: 1
   gyp ERR! stack     at ChildProcess.onCpExit (/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
   gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
   gyp ERR! System Linux 4.4.0-1031-aws
   gyp ERR! command "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/bin/node" "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64/lzma_native.node" "--module_name=lzma_native" "--module_path=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64"
   gyp ERR! cwd /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native
   gyp ERR! node -v v11.6.0
   gyp ERR! node-gyp -v v3.8.0
   gyp ERR! not ok 
   node-pre-gyp ERR! build error 
   node-pre-gyp ERR! stack Error: Failed to execute '/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/bin/node /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64/lzma_native.node --module_name=lzma_native --module_path=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64' (1)
   node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
   node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
   node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:978:16)
   node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
   node-pre-gyp ERR! System Linux 4.4.0-1031-aws
   node-pre-gyp ERR! command "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/bin/node" "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
   node-pre-gyp ERR! cwd /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native
   node-pre-gyp ERR! node -v v11.6.0
   node-pre-gyp ERR! node-pre-gyp -v v0.6.39
   node-pre-gyp ERR! not ok 
   Failed to execute '/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/bin/node /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64/lzma_native.node --module_name=lzma_native --module_path=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64' (1)
   gyp: Call to 'sh liblzma-config.sh "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/build" "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/deps/xz-5.2.3.tar.bz2"' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
   gyp ERR! configure error 
   gyp ERR! stack Error: `gyp` failed with exit code: 1
   gyp ERR! stack     at ChildProcess.onCpExit (/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
   gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
   gyp ERR! System Linux 4.4.0-1031-aws
   gyp ERR! command "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/bin/node" "/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64/lzma_native.node" "--module_name=lzma_native" "--module_path=/tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native/binding-v3.0.8-node-v67-linux-x64"
   gyp ERR! cwd /tmp/build_681c54b9c6315cfb1c9672e8da7d4803/node_modules/decompress-tarxz/node_modules/lzma-native
   gyp ERR! node -v v11.6.0
   gyp ERR! node-gyp -v v3.8.0
   gyp ERR! not ok 
   npm ERR! code ELIFECYCLE
   npm ERR! errno 1
   npm ERR! lzma-native@3.0.8 install: `node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build`
   npm ERR! Exit status 1
   npm ERR! 
   npm ERR! Failed at the lzma-native@3.0.8 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.85YKx/_logs/2019-01-13T20_55_48_321Z-debug.log

1 Ответ

0 голосов
/ 14 января 2019

Ах, печально известный node-pre-gyp install --fallback-to-build (ответственный за неудачу вашего развертывания). На Github mapbox/node-pre-gyp есть 70 различных проблем ошибок, связанных с этой точной командой! node-pre-gyp - это очень глючный пакет для установки - особенно когда речь идет о кроссплатформенном поведении - поэтому некоторые решения могут работать для вас, другие - нет.


В этой проблеме Николас Нобл (автор пакета GRPC) указал, что проблема возникла из-за несовместимых версий NodeJS и GRPC. Убедитесь, что ваша локальная версия NodeJS совместима с той, что работает на Heroku, иначе проверьте Руководство Heroku по указанию версии Node.


В этой проблеме пользователь takase1121 имел очень похожий журнал ошибок, похожий на ваш:

> lzma-native@4.0.2 install [...]Node.js [...]node_modules/lzma-native
> node-pre-gyp install --fallback-to-build && rimraf build

[...]
node-pre-gyp WARN Tried to download(404): [...]
[...]

Люди упоминали также библиотеки ffmpeg в этом выпуске, который все еще открыт.


Наконец, в этой проблеме пользователь OceanHorn сделал (почти) точно такую ​​же команду, как вы работаете нормально!

> lzma-native@3.0.2 install /Users/OceanHorn/SourceTree/mmms/node_modules/lzma-native
> node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build

[lzma-native] Success [...]

Одно крошечное отличие: версия lzma-native - 3.0.2, а не ваша 3.0.8 - использование этой версии lzma-native может решить вашу проблему. Поскольку это только разница в версии патча, вы сможете использовать версию 3.0.2 без каких-либо изменений в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...