一、问题现象
在Flatpak中使用Vs Code配置Golang开发环境的时候Go插件总是提示无法配置,怎么设置都无法成功.
Failed to find the "go" binary in either GOROOT() or
PATH(/app/bin:/usr/bin:/home/tianliang/.var/app/com.visualstudio.code/data/node_modules/bin).
Check PATH, or Install Go and reload the window. If PATH isn't what you expected,
see https://github.com/golang/vscode-go/issues/971
二、问题原因
Flatpak在运行的时候是沙盒环境,对宿主系统的关键位置都进行了屏蔽.虽然可以通过--filesystem=host
来指定宿主机的全局映射,但是关键位置如/bin
、/sbin
、/boot
、/etc
等位置还是不能映射.
自己Gloang的安装位置在 /opt/google/go
同样也是无法成功设置.
三、解决办法
-
1.将Golang的位置放到一个VS Code能看到的目录
自己就是将/opt/google/go
给软链接到了$HOME/bin
目录下,然后在VS Code中设置$HOME/bin/go
为GOROOT
. -
2.不使用Flatpak版本的VS Code
Flathub源中的VSCodium
、Visual Studio Code
都是无法正常配置的,接受不了方案1的朋友只能放弃flatpak版了.
参考资料
The extension cannot find the go executable in PATH when used with flatpak