Skip to content

[Bug] AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3依赖版本为5.1.6可以正常运行,具体原因请看描述 #43

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
CoderXu opened this issue Mar 19, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@CoderXu
Copy link

CoderXu commented Mar 19, 2025

Describe the bug

Image

Image
node-sqlite3最新版本(5.1.7)捆绑的sqlite3版本为v3.44.2,疑似是使用glibc 2.38版本构建的,而ubuntu 22.04支持的glibc最高版本为2.35。
经过尝试,将node-sqlite3的依赖降至5.1.6可以运行正常,

@CoderXu CoderXu added the bug Something isn't working label Mar 19, 2025
@CoderXu CoderXu changed the title AppImage 包无法在ubuntu 22.4系统中运行,需要降低sqlite3版本为5.1.6可以 AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3版本为5.1.6可以 Mar 19, 2025
@CoderXu CoderXu changed the title AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3版本为5.1.6可以 AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3版本为5.1.6可以正常运行,具体原因请看描述 Mar 19, 2025
@CoderXu CoderXu changed the title AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3版本为5.1.6可以正常运行,具体原因请看描述 AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3依赖版本为5.1.6可以正常运行,具体原因请看描述 Mar 19, 2025
@CoderXu CoderXu changed the title AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3依赖版本为5.1.6可以正常运行,具体原因请看描述 [Bug] AppImage 包无法在ubuntu 22.04系统中运行,需要降低sqlite3依赖版本为5.1.6可以正常运行,具体原因请看描述 Mar 19, 2025
@modstart
Copy link
Contributor

如果确定降一个版本是可以的,可以提一个PR

@CoderXu
Copy link
Author

CoderXu commented Mar 24, 2025

✓ built in 867ms
  • electron-builder  version=24.13.3 os=5.15.167.4-microsoft-standard-WSL2
  • loaded configuration  file=/Workspace/H5/aigcpanel/electron-builder.json5
  • writing effective config  file=dist-release/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=bufferutil@4.0.9, iconv@3.0.1, sqlite3@5.1.7 platform=linux arch=x64
  • install prebuilt binary  name=sqlite3 version=5.1.7 platform=linux arch=x64 napi=
[[33m  • build native dependency from sources  name=sqlite3
                                          version=5.1.7
                                          platform=linux
                                          arch=x64
                                          napi=
                                          [[33mreason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                          error=prebuild-install info begin Prebuild-install version 7.1.3
    prebuild-install warn This package does not support N-API version 36
    prebuild-install warn install prebuilt binaries enforced with --force!
    prebuild-install warn install prebuilt binaries may be out of date!
    prebuild-install info looking for local prebuild @ prebuilds/sqlite3-v5.1.7-napi-v36-linux-x64.tar.gz
    prebuild-install info looking for cached prebuild @ /home/coderxu/.npm/_prebuilds/c8064a-sqlite3-v5.1.7-napi-v36-linux-x64.tar.gz
    prebuild-install http request GET https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v36-linux-x64.tar.gz
    prebuild-install http request Proxy setup detected (Host: 192.168.1.68, Port: 7890, Authentication: No) Tunneling with httpsOverHttp
    prebuild-install http 404 https://github.com/TryGhost/node-sqlite3/releases/download/v5.1.7/sqlite3-v5.1.7-napi-v36-linux-x64.tar.gz
    prebuild-install warn install No prebuilt binaries found (target=36 runtime=napi arch=x64 libc= platform=linux)
    
  • packaging       platform=linux arch=x64 electron=29.4.6 appOutDir=dist-release/linux-unpacked

在构建linux客户端时,存在以上日志信息,不知道为何检测到的N-API version 36,但经过尝试,使用node版本为v20.19.0进行构建的linux安装包运行正常,具体原因未知。

通过下面命令可以得知,Electron使用 node v20.9.0构建,理论上node版本大于等于V20.9.0小于V21.x.x进行构建可以正常运行。

npx electron --interactive

    Welcome to the Electron.js REPL \[._.]/

    You can access all Electron.js modules here as well as Node.js modules.
    Using: Node.js v20.9.0 and Electron.js v29.4.6
  
> 

如果使用 node v20.19.0构建的windows、mac安装包也运行正常,建议使用此版本的node重新构建安装包,并在README.md中,备注说明用于构建的node版本。

另外,使用node v20.19.0构建的linux客户端,无需将sqlite3依赖降至5.1.6版本,而使用 node v23.10.0构建时,sqlite3依赖需要使用5.1.6版本构建可以正常运行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants