前几天老大让我把别人写好的electron打包放到服务器里,没搞过,一头雾水,一步一步踩坑呗
先在网上搜electron打包打成linux版本
{
"name": "electron-quick-start",
"version": "1.0.0",
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron .",
"package-win": "electron-packager . electron-quick-start --platform=win32 --electron-version=10.0.0 --arch=x64 --download.mirrorOptions.mirror=https://npm.taobao.org/mirrors/electron/ --asar --app-version=0.0.0 --build-version=0.0.0 --out=HelloWorld --overwrite --no-package-manager --ignore='(.git)' --icon=assets/img/logo.ico",
"package:linux": "electron-packager . --overwrite --platform=linux --arch=x64 --out=out",
"package-mac": "electron-packager . electron-quick-start --platform=darwin --electron-version=10.0.0 --arch=x64 --download.mirrorOptions.mirror=https://npm.taobao.org/mirrors/electron/ --asar --app-version=0.0.0 --build-version=0.0.0 --out=HelloWorld --overwrite --no-package-manager --ignore='(.git)' --icon=assets/img/logo.ico"
},
"repository": "https://github.com/electron/electron-quick-start",
"keywords": [
"Electron",
"quick",
"start",
"tutorial",
"demo"
],
"author": "GitHub",
"license": "CC0-1.0",
"devDependencies": {
"electron": "^11.1.0"
}
}
然后通过xftp上传到服务器
cd到子目录
./two-area启动,可能会出现权限不足
使用 chmod 777 two-area 修改权限
或者直接通过xftp修改权限
终端出现了这样的问题
FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/user/Desktop/aep/source/build/linux-unpacked/chrome-sandbox is owned by root and has mode 4755.
百度查呗
使用以下命令解决:
sudo chown root chrome-sandbox && sudo chmod 4755 chrome-sandbox
又报一个错误
xxx is not in the sudoers file.This incident will be reported
解决方法就是在/etc/sudoers文件里给该用户添加权限
1.切换到root用户下
2./etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是:
chmod u+w /etc/sudoers
3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
再返回出去 ,重新以上步骤就可以启动了
输入命令 sudo chown root chrome-sandbox && sudo chmod 4755 chrome-sandbox
然后子目录下 ./two-area