如何解决Quick.DB/better-sqlite3 安装脚本的问题
我使用 Quick.DB 作为数据库,为我的 discord.js 机器人获取和发送数据。但是,当我尝试安装我的依赖项时,它会在专门为 Quick.DB 安装 Better-sqlite3 时返回此错误。它尝试编译安装脚本以创建绑定文件,但一段时间后它向我返回此错误。我使用 repl.it 为这个机器人编码,因为我觉得它很灵活。
> better-sqlite3@7.1.5 install /home/runner/azeliav2-2/node_modules/better-sqlite3
> prebuild-install || npm run build-release
prebuild-install WARN install /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/runner/azeliav2-2/node_modules/better-sqlite3/build/Release/better_sqlite3.node)
> better-sqlite3@7.1.5 build-release /home/runner/azeliav2-2/node_modules/better-sqlite3
> node-gyp rebuild --release
make: Entering directory '/home/runner/azeliav2-2/node_modules/better-sqlite3/build'
TOUCH b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
ACTION deps_sqlite3_gyp_locate_sqlite3_target_extract_sqlite3 b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
TOUCH Release/obj.target/deps/locate_sqlite3.stamp
CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
deps/sqlite3.target.mk:183: recipe for target 'Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o' failed
make: *** [Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o] Error 4
rm b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
make: Leaving directory '/home/runner/azeliav2-2/node_modules/better-sqlite3/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:314:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Linux 5.4.0-1042-gcp
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /home/runner/azeliav2-2/node_modules/better-sqlite3
gyp ERR! node -v v12.22.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! better-sqlite3@7.1.5 build-release: `node-gyp rebuild --release`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the better-sqlite3@7.1.5 build-release script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists,but node_modules missing,did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! /home/runner/.npm/_logs/2021-05-02T03_56_51_256Z-debug.log
[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:[ ......] | install: info lifecycle better-sqlite3@7.1.5~install:npm WARN hello-express@0.0.1 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! better-sqlite3@7.1.5 install: `prebuild-install || npm run build-release`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the better-sqlite3@7.1.5 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! /home/runner/.npm/_logs/2021-05-02T03_56_52_435Z-debug.log
解决方法
我已经回答了here。
GLIBC_2.29 not found 错误导致过时的 libc6 包。你需要运行
sudo apt-get update
sudo apt-get install libc6
关于askubuntu.com的更多信息
但是您需要sudo 权限。您没有 repl.it 的 sudo 权限。
无论如何,您都不应该在 repl.it 上使用 quick.db,因为在 repl.it 上,所有用户信息都将公开 - 这违反了不和谐的服务条款。
Repl.it 的限制是你不能对公众隐藏文件 在免费帐户上,除了 .env 文件。这意味着,如果你要 使用基于文件或基于 sqlite 的数据库(例如 enmap、quick.db、 nedb)您的文件将可见。因为这违反了 Discord 服务条款(暴露潜在用户数据),请勿使用这些 模块或 json 文件来存储数据。相反,您可以使用 Repl.It 存储数据的数据库系统,或外部数据库服务器,如 Atlas Mongo 或 Firebase。 anidiots.guide
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。