您现在的位置是:网站首页 > 代码编程 > WEB前端WEB前端

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

不忘初心 不忘初心 2021-12-02 围观() 评论() 点赞() WEB前端

简介:anywhere对外提供服务,本地联调很顺利,但是发布到线上之后,发现anywhere启动不了,报错: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

搞定,收工!

nodeanywhere

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

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

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

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

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们