由于electron-vue
构建的桌面应用需要支持不同的操作系统,在windows
下一切都相安无事。但是放到linux
下不同的UI
下也都体现出不同的问题。
今天在做开发时就碰到一个很奇葩的问题,在linux gnome
下执行没问题,但是在deepin
下就会出现如下异常:
Error:spawn EACCESS
详见下图:
spawn
是nodejs
提供的通信工具,用于主进程和子进程之间通信的,我前面的文章都有提到过,这里就不再赘述了。
出现这个问题,虽然乍一看没有头绪,但是细看的话应该能看懂。关键在于EACCESS
,虽然我不认识这个单词,但是Access
我还是认识的,访问
。E可能是Error的意思,合起来可能就是访问错误。
一般在linux
中出现访问错误,我们就知道应该是没有操作权限,需要赋予更高的权限。那么我们就需要定位到到底是什么东西没有足够的执行权限?
因为我是用spawn
去执行了另外一个程序
,这个程序在windows下是exe,在linux下可能是个二进制文件,可以锁定到该文件可能没有足够的执行权限