sqlite3 ERR DLOPEN 失败的版本 'GLIBC_2.29' 找不到



我开始不知从哪里得到这个错误我用谷歌搜索了很多,但没有得到任何帮助

这工作得很好,但也许在我设置github工作流Codeql-analysis.yml之后。或者可能是在我更新包之后-开始得到这个错误。

  • 我的应用程序代码是干净没有问题。
  • 我确定我的应用程序代码没有犯这个错误。
    "sqlite": "^4.0.25",
    "sqlite3": "^5.0.2"

sqlite3 5.0.3是最新版本

错误:

node:internal/modules/cjs/loader:1183
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^
Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/dreamy/YouTube/Silenzio_Bruno/node_modules/sqlite3/lib/binding/napi-v6-linux-x64/node_sqlite3.node)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/dreamy/YouTube/Silenzio_Bruno/node_modules/sqlite3/lib/sqlite3-binding.js:4:15)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}
Node.js v17.9.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
npm: '8.7.0'
node: 'v17.9.0'

这就是我一直尝试的google解决方案

  • 我删除了。github/workflows文件夹。
  • 我创建了一个新文件夹,复制了所有的代码文件,试图再次运行。
  • 我尝试删除node_modulues文件夹和yarn.lock文件,并尝试再次安装
  • 试图用npm cache clean sqlite3, yarn cache clean, git rm -r --cached .清理缓存yarngit
  • 已尝试npm rebuild bcrypt --build-from-source
  • 尝试更新所有包

昨天也发生在我身上。在我更新了我的Debian系统之后,我发现Debian升级了Bullseye以包含GLIBC 2.31:

https://packages.debian.org/bullseye/libc6-amd64

SQLITE3模块页面解释了该模块,包括静态链接,预构建的二进制文件,需要特定版本的GLIBC:

https://www.npmjs.com/package/sqlite3 (prebuild binary)

在模块自己更新之前,同一页描述了使用主机系统的sqlite3 install从源代码编译。

对于Debian Bullseye,我做了以下操作:

apt-get install sqlite3 libsqlite3-dev
npm install --build-from-source --sqlite=/usr/bin sqlite3

该模块在此之后工作。我不太了解您的环境,也不知道为您实现这一点有多容易。我怀疑如果您检查主机系统上的GLIBC版本,您最近也有更改。

最新更新