首页   >   代码编程   >   WEB前端

anywhere在linux服务器上执行失败:Error: spawn xdg-open ENOENT

之前的一个gis相关的项目中,碰到一个奇葩问题,直接将项目整个部署到tomcat中时,gis的底图一直出不来,一番排查之后发现是因为不能访问地图的json文件夹导致的,也就是不光要访问到具体的json文件,还要能访问到json文件所在的文件夹目录,这个是tomcat容器本身的限制,所以最终选择将gis底图所在的目录单独拎出来当做一个项目,利用anywhere来对外提供服务。

改为anywhere对外提供服务之后,问题得到解决,本地联调很顺利,但是发布到线上之后,发现anywhere启动不了,报错:Error: spawn xdg-open ENOENT。

详细错误信息如下:

[root@iZbp18ily7toc2r57x6hovZ test]# anywhere -p 8083
Running at http://172.28.1.24:8083/
Also running at https://172.28.1.24:8084/
events.js:292
throw er; // Unhandled 'error' event
^
Error: spawn xdg-open ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
at onErrorNT (internal/child_process.js:465:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
at onErrorNT (internal/child_process.js:465:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn xdg-open',
path: 'xdg-open',
spawnargs: [ 'http://172.28.1.24:8083/' ]
}

查阅资料找到了原因,anywhere命令在启动的时候,它会自动打开浏览器,而linux没有浏览器可打开,此时就会报错了,所以需要让它静默启动

[root@iZbp18ily7toc2r57x6hovZ test]# nohup anywhere -p 8083 -s &
[1] 12741

直接追加-s参数就可以让其静默启动。

anywhere在linux服务器上执行失败:Error: spawn xdg-open ENOENT

搞定,收工!

雨落无影

QQ群Ⅰ: 686430774

QQ群Ⅱ: 718410762

QQ群Ⅲ: 638620451

QQ群Ⅳ: 474195684

QQ群Ⅴ: 463034360

QQ群Ⅵ: 879266502

QQ群Ⅶ: 627786015

工作5分钟,吹逼2小时: 855525339 (娱乐消遣,广告狗勿进)

如果文章有帮到你,可以考虑请博主喝杯咖啡!

分享到:

欢迎分享本文,转载请注明出处!

作者:不忘初心

发布时间:2021-12-02

永久地址:https://www.jiweichengzhu.com/article/61d4fe253a674acfa44536fc8c5d3a6a

评论

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决