我已经用C++为NodeJS编写了一个SDL2的本地库 Package 程序,它处于工作状态,但现在我已经从NodeJS 10.19.0升级到15.0.1 LTS,并遇到了以下错误:
Error: /snap/core18/current/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /lib/x86_64-linux-gnu/libSDL2-2.0.so.0)
at Object.Module._extensions..node (node:internal/modules/cjs/loader:1142:18)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (/usr/lib/lotus/native/sdl2/index.js:1:13)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14) {
code: 'ERR_DLOPEN_FAILED'
}
我试着按照一些在线指南,如this等,没有任何效果。我怀疑这不是一个依赖性问题,因为完全相同的程序在10.19.0下运行。虽然该版本是通过apt
和15.0.1与snap
安装的。我不完全相信这是问题的原因,但。因为15.0.1可与其他本地库(如依赖于Qt和Electron的NodeGUI)配合使用。
我对Linux不够熟悉,无法自己调试这个问题,所以如果有任何可能解决这个问题的建议,我将非常感谢。
**编辑:**我已经设法弄清楚了,如果NodeJS是通过APT安装的,那么同样的程序在15.0.1下也能工作。无论哪种方式,这都是令人沮丧的,我非常感谢在使用snap版本方面的一些帮助。
**编辑2:**重新安装整个系统没有任何作用。
1条答案
按热度按时间i1icjdpr1#
有点晚了,但我已经解决了这个问题:在我的系统上,snap包会导致LibCs出现问题,尤其是NodeJS安装。由于我使用的是较低级别的系统资源,Snap会给我带来障碍。
解决方案是使用APT的直接节点安装。