- 安装32 ele 10.2.0
- 安装trtc lastest
- cd trtc-sdk:
npm run install -- arch=ia32
64位会自动替换成32 - 安装剩余ffi等
npm install -s --arch=ia32
cnpm install agora-electron-sdk -s
npm rebuild agora-electron-sdk
不rebuild会有上下文感知错误卡死,即使app设置了false也一样npm start
打包:
- json
npm cache clean --force
cnpm install --arch=ia32 electron@10.2.0
- cnpm install
- cd trtc-sdk:
npm run install -- arch=ia32
- npm start:
agora_node_ext.node is not a valid Win32 application.
cnpm rebuild
agora_node_ext.node is not a valid Win32 application.
/
- json
npm cache clean --force
cnpm install --arch=ia32 electron@10.2.0
- cnpm install -s --arch=ia32
- cd trtc-sdk:
npm run install -- arch=ia32
- npm start:
agora_node_ext.node is not a valid Win32 application.
cnpm rebuild
agora_node_ext.node is not a valid Win32 application.
集成:
cnpm install --arch=ia32
- cd trtc-sdk:
npm run install -- arch=ia32
npm start
打包:- 删除 dev “agora-electron-sdk”: “latest”
- npm run dist
- npm start 找不到。 不删除又package.json: The name of the file cannot be resolved by the system.
///最终:
npm cache clean -f
- 先
npm install agora-electron-sdk@3.4.2
不然出现上一条错误 ,详见下注解1 cnpm install --arch=ia32
- cd trtc-sdk:
npm run install -- arch=ia32
- 删除lock
npm start
npm run dist
https://segmentfault.com/a/1190000013924153
说到npm与cnpm的区别,可能大家都知道,但大家容易忽视的一点,是cnpm装的各种node_module,这种方式下所有的包都是扁平化的安装。一下子node_modules展开后有非常多的文件。导致了在打包的过程中非常慢。但是如果改用npm来安装node_modules的话,所有的包都是树状结构的,层级变深。由于这个不同,对一些项目比较大的应用,很容易出现打包过程慢且node内存溢出的问题(这也是在解决electron打包过程中困扰我比较久的问题,最后想到了npm与cnpm的这点不同,解决了node打包内存溢出的问题,从打包一次一小时优化到打包一次一分钟,极大的提高了效率)。
{
"name": "cdele",
"version": "1.0.0",
"main": "main.js",
"os": [
"win32"
],
"agora_electron": {
"electron_version": "10.2.0",
"prebuilt": true
},
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder --win --ia32"
},
"build": {
"appId": "wr100010",
"win": {
"icon": "src/app.ico",
"target": [
{
"target": "zip",
"arch": [
"ia32"
]
}
]
},
"nsis": {
"oneClick": false,
"allowElevation": true,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "clroom"
}
},
"author": "",
"license": "ISC",
"__npminstall_done": false,
"dependencies": {
"agora-electron-sdk": "^3.4.2",
"ffi-napi": "^4.0.3",
"jquery": "3.6.0",
"ref-napi": "^3.0.2",
"trtc-electron-sdk": "8.6.101"
},
"devDependencies": {
"electron": "10.2.0",
"electron-builder": "22.10.5"
},
"description": ""
}