【问题标题】:Can't install the ffmpeg module无法安装 ffmpeg 模块
【发布时间】:2019-06-07 22:49:59
【问题描述】:

我正在尝试安装 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

【问题讨论】:

    标签: node.js ffmpeg


    【解决方案1】:

    啊,臭名昭著的node-pre-gyp install --fallback-to-build(对您的部署失败负责)。在 mapbox/node-pre-gyp 的 Github 上,有 70 different issues 在这个确切的命令上引用错误! node-pre-gyp 是一个非常有问题的软件包,需要安装 - 特别是在涉及跨操作系统行为时 - 所以有些解决方案可能对你有用,有些则不行。


    this issue 中,Nicolas Noble(GRPC 包的作者)指出问题是由 NodeJS 和 GRPC 的不兼容版本引起的。检查您的 NodeJS 本地版本是否与 Heroku 上运行的版本兼容,否则请检查 Heroku's guide 指定 Node 版本。


    this issue 中,用户 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 库,但该库仍然开放。


    终于在this issue 中,用户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 版本,而无需对代码进行任何更改。

    【讨论】:

    • 我刚刚将 npm 和 node 的版本从最新回滚到 npm:6.4.1 和 node:10.15.0 并且它工作了
    • 哇,没想到! ? 不要忘记将您的解决方案添加到 Github 问题中,我们会再次感谢您(哦...也将其发送到 this desperate guy ^^)
    猜你喜欢
    • 1970-01-01
    • 2018-05-15
    • 2019-07-07
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多