centos 使用 electron-builder 遇到的坑
1、可能出现的问题
/root/.cache/electron-builder/nsis/nsis-3.0.4.1/linux/makensis: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
Error: write EPIPE
at afterWriteDispatched (node:internal/stream_base_commons:160:15)
at writeGeneric (node:internal/stream_base_commons:151:3)
at Socket._writeGeneric (node:net:817:11)
at Socket._write (node:net:829:8)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Socket.Writable.end (node:internal/streams/writable:609:17)
at Socket.end (node:net:631:31)
at /home/electron-test/node_modules/builder-util/src/util.ts:205:25
at new Promise (<anonymous>)
at Object.spawnAndWrite (/home/electron-test/node_modules/builder-util/src/util.ts:184:10)
at NsisTarget.executeMakensis (/home/electron-test/node_modules/app-builder-lib/src/targets/nsis/NsisTarget.ts:585:11)
at NsisTarget.computeScriptAndSignUninstaller (/home/electron-test/node_modules/app-builder-lib/src/targets/nsis/NsisTarget.ts:367:5)
at NsisTarget.buildInstaller (/home/electron-test/node_modules/app-builder-lib/src/targets/nsis/NsisTarget.ts:306:9)
at NsisTarget.finishBuild (/home/electron-test/node_modules/app-builder-lib/src/targets/nsis/NsisTarget.ts:131:9)
at async Promise.all (index 1)
wine: Bad EXE format for Z:\root
Error: Cannot find module ‘node:path’
2、软件安装
前置:
升级 CMake,参考 https://www.cnblogs.com/liujiaxin2018/p/16745159.html
1)上述问题1和2可能是同一问题。
升级 gcc 11.2.0,参考 https://www.jianshu.com/p/317b1799a343
安装完成后,替换依赖
先查看本地是否有依赖
strings /lib64/libstdc++.so.6 | grep "^GLIBC*"
然后全局搜索
find / -name "libstdc++.so*"
把找到的高版本复制到/lib64文件夹
cp /usr/local/lib64/libstdc++.so.6.0.29 /lib64
然后建立连接
ln -s /lib64/libstdc++.so.6.0.29 /lib64/libstdc++.so.6
2)上述问题3
安装 wine 32位,参考 https://www.jianshu.com/p/bd0b24b968cb
3)上述问题4
把 electron 版本设置为 18.0.0 及以上