以Ubuntu24.04和GoLand2024.1.6为例子,演示如何在Windows上通过GoLand远程连接Linux进行Go编程。
通过go version指令可以发现当前Ubuntu系统没有安装go。
go version
通过指令安装go,其他系统可以通过wget安装,要指定安装的具体go版本,也可以用wget。
sudo apt update
sudo apt upgrade
sudo apt install golang
安装完成后,再次输入go version,可以发现具体的版本。
设置go的环境变量,使用whereis go指令,可以找到go的源码目录在/usr/lib/go目录下面,这个就是GOROOT。
设置GOROOT、GOPATH,GOPATH可以自定义目录。
export GOROOT=/usr/lib/go
export GOPATH=/home/lorrainewen/FrameWork/GoPath
在/etc/profile文件中加入这两个环境变量,要用root权限才能写。
让更改生效。
source /etc/profile
设置代理。
go env -w GOPROXY=https://goproxy.cn,direct
打开GoLand,创建一个项目。
找到设置。
找到工具里面的SSH配置,点击加号。
把Ubuntu的ip地址和登录用户,以及密码输入进去。
点击测试连接,如果连接失败,就检测一下Linux是否支持ssh,如果不支持就安装一下openssh,还有可能是防火墙没有开放22端口。
点击应用。
创建一个运行实例。
点击本地机器。
点击SSH,选择现有。
选择刚刚配置好的ssh实例。
下一步。
项目源目录就是Ubuntu上面存放项目源码的路径(自己自定义)。
经过编译的可执行文件目录就是main.go编译产生的.out文件所在的目录,一般都是默认放在GOPATH/bin目录下面。
Go可执行文件就是whereis go里面显示的bin目录下的go。
GOPATH就是环境变量设置的。
这个目标的项目路径没什么用,不要管。
点击创建。
点击应用,点击运行,成功运行。
这里需要注意,如果运行失败了,并且报错:
无法准备环境。 编译完成,并显示退出代码 126
那要么就是你的go没有安装成功,要么就是环境变量配置失效了(用env指令查看),要么就是你的项目源目录根本就没有访问权限,由于这个ssh是通过lorrainewen这个用户访问的,所以自然只能在lorrainewen创建的目录下生成代码、运行项目,是不能在root用户的目录下做这些的。
打开Ubuntu,来到/home/lorrainewen/CodeLamp/Go这个目录下,发现项目的源代码被拷贝到了这里,main.go也在这里。
通过cat指令查看main.go的内容,和windows上面的内容一样。
在goland上面更改main.go
再次运行。
再次通过cat指令查看main.go的内容,发现更改同步上去了。
这些代码看起来像是在windows的Goland里面运行,实际上是在Ubuntu里面运行,将输出的结果通过ssh连接发送到了Goland的输出窗口中。至此Goland连接Linux到此完美结束。