一、下载代理设置,更快
由于go是google的产品,许多插件都是在国外,然而国内访问不了,所以要设置代理等配置
go env -w GOPROXY=https://goproxy.io,direct
go env -w GO111MODULE=on
go env 前后对比一下即可。
二、go编译环境(默认)
C:\Program Files\Go
go的启动编译exe文件
C:\Program Files\Go\bin 下面的go.exe
三、安装第三方库与初步get所有包
在命令行下使用go get -u xxx
就可以安装第三方库了
go get -u gorm.io\gorm
在当前模块,就会下载所有包
go get
go: finding module for package github.com/eclipse/paho.mqtt.golang
go: could not create module cache: mkdir C:\Program Files\Go\bin\pkg: Access is denied.
解决方案1:用管理员账号,来到工作目录运行cmd命令
go mod init gorm_learn
go mod vendor
我们安装的第三方库都是在C:\Program Files\Go\bin\pkg\mod下面,而我们的写代码的工作区却不是在GOPATH下面,而在我们的工作区和GOROOT/src目录(标准库)下面都没有这个第三方库,所以报错,解决方案:
假设我们使用命令go get -u gorm.io\gorm安装了这个第三方库
假设你写的代码中已经正确导入第三方库,只是系统没有识别到
然后在vscode的工作区使用快捷键**ctrl+shift+`**打开终端,然后在里面使用命令
# 工作区取个包名,名字任意
go mod init gorm_learn
把项目依赖的第三方库都拷贝到工作区,该命令需要管理员权限,所以要在管理员权限下运行,且在cmd中打开工作区的目录
解决方案2:
win11 环境下直接
右键对应的文件夹,增加user的读写权限
三、Linux 安装go与发布go程序
方案一:windows下编译,然后上传最后的包。
方案二:直接编译源码 git clone 下来
yum install go
发现go是1.15的版本还比较新。centos7.9
1、go build main.go
发现迟迟没有反应
1、go get一下,下载所有的包到本地。还是最前面那个,下载速度才变快。
2、然后再go build main.go
3 chmod +x main 即可运行
go mod vendor
参考链接:https://blog.csdn.net/qq_43279457/article/details/115263902
四、其他问题
昨天的代码好好的,今天重新打开go idea 报红。还到E盘,另外一个盘,也是这样。go mod,go init等命令都用过。还是不行。
直接新建一个不同名字的文件夹(项目名更改),然后把里面的代码拷贝进去,就好了。应该是idea或go 重新找pkg的索引值,更新找到了。
根本原因:我重新git clone 下来。发现项目名和idea显示的那个名字不一样(根本原因)。重新拷贝里面的源码,去掉.idea 这个文件。到一个新文件夹就好了。如果全部拷贝,包括.idea,是会报错的。
方案一:拷贝新源码到新文件夹下,不拷贝.idea
方案二:\.idea 下面那个项目名不一样的那个.iml 删掉.重新打开就好
五、关掉mobxterm等,main.go 自动退出或关掉了
如 go run main.go 也好,go run main.go &
正确姿势:
nohup go run main.go &