为什么我看到还有很多教程都是基于 gopath 的, 一上来就是配置 goroot ,gopath ,创建固定的目录 pkg ,src ,。。。
大家一般的 go 开发环境怎么搭建呢。项目中的依赖是怎么处理呢?
![]() |
1
EricYuan1 32 天前
cy
|
![]() |
3
NX2023 32 天前 via iPhone ![]() 靠 GoLand 自己管理,本地不用手动装,直接 GoLand 里面下
|
![]() |
4
cyrivlclth 32 天前 ![]() 你的教程是不是太老了?一般 goland ,没有 goland 也是装好 go 之后直接 mkdir 一个文件夹,然后这个文件夹就是你的项目路径了,go mod init 一下不就行了。。。
|
5
ym1ng 32 天前
go mod
|
![]() |
6
seth19960929 32 天前 ![]() 1. 安装 golang (放入环境变量)
2. 用 gomod, 抛弃所有 goroot, gopath, 已经没人用了(pkg, src) |
7
ninjashixuan 32 天前
go path 怕不是好多年前的教程了。
|
![]() |
8
junwind OP @seth19960929 谢谢,可能是有些教程比较老吧,总是要扯什么 gopath 要配置,要按格式创建目录。
|
![]() |
9
clino 32 天前
有个 goenv ,和 Python 的 pyenv 类似,可以用这个切换不同的 go 版本
|
![]() |
10
Trim21 32 天前 ![]() 按照我的理解,golang 的想法是开发者不要自己管理工具链的版本,随便装一个足够新的 go (>= 1.21 ),然后让 go 自己根据对应项目的 go.mod 下载使用对应版本的工具链。
|
![]() |
11
linuxsuren 31 天前
Goland 安装后啥都不用管,点点点。参与开源项目还能拿到免费的 License
https://github.com/LinuxSuRen/api-testing |
![]() |
12
pike0002 31 天前
建议可以的话:
1. 装 gvm ,便于多版本 go 管理,对于一些特性测试或者多项目的情况比较好。尤其适合要在不同版本间测试同一个特性不同版本间表现时,比如 go 的 for-range 变更。https://www.pixelstech.net/article/1732171804-fix-for-range-issue-again-in-go-1-22?lang=chinese 2. 项目建在哪不是很重要,建议项目用 go mod 管理,这样的话依赖管理也比较好搞。 |
![]() |
13
pkoukk 31 天前
唯一指定包管理模式:go mod
(其实极少部分情况会用 go vendor) |
![]() |
15
IDAEngine 31 天前
golang 自带 go mod
|
16
tairan2006 31 天前
go mod init
一般用最新版 go 就行,除非你依赖了一些奇奇怪怪的库 |
17
NessajCN 31 天前 ![]() sudo pacman -S go 呗, 还要咋样
你在墙内就再加两句 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct |
18
THESDZ 31 天前 ![]() |
![]() |
19
wentx 31 天前
brew install go
mkdir myfxckproject && cd myfxckproject go mod init ... |
![]() |
20
ScepterZ 31 天前
安装之后 go env -w 那么几条就行了
主要是 goproxy 还有 1.21 之后的 toolchain ,1.21 之后也不需要上边说的 gvm 之类的了 |
![]() |
21
geekzhu 31 天前
|
![]() |
22
Felldeadbird 31 天前
win 下我是这样。linux 随便一个目录。
|
23
fffq 31 天前
只能说教程太老,没必要看了
|
24
jackmod 31 天前
不使用 GPU 的话直接用 docker 简单粗暴
windows 下的 docker 没法用内存来扩展显存 |
![]() |
25
zfabl 31 天前
推荐[mise]( https://github.com/jdx/mise) , 可以管理很多开发工具的版本
|
26
ziyeziye 31 天前
直接下载 go 安装包,用 go mod init 开搞就行了,最多配一个 gopath
|
![]() |
27
bintianbaihua 31 天前
直接 go mod 管理就好了。 安装 go 环境,随便选择一个目录即可。 然后 vscode 安装 go 插件,就可以了。
|
![]() |
28
hzzhzzdogee 31 天前
还在 gopath, 19 年 gomod 实验性支持后就再没理会 gopath 这些配置了
|
29
gam2046 31 天前
一般是 VS Code + Dev Container ,不同项目也可以比较方便的用不同版本。
容器内 go mod init 就可以开始写代码了。 |
30
ziyeziye 31 天前
配置 gopath 是自己确定包文件存放在哪个盘的,不然都存 c 盘去了,当然用 linux 和 mac 就不用管了,安装包下了直接就开写
|
![]() |
31
seers 31 天前 via Android
自己写 init ,导入就 tidy 下
|
33
zxjxzj9 31 天前
win 下才需要,mac 和 linux 都是直接装 装完 go mod init go mod tidy 就搞定
|
![]() |
34
xpzouying 31 天前
现在的 Golang 不需要配置 GOPATH 之类的环境变量,
按照官方教程下载 Golang 即可,Linux/Mac 都是下载压缩包解压缩到 /usr/local/go 中,然后把 /usr/local/go/bin 加入到 PATH 环境变量即可。 推荐一个自己写的常用 HTTP Server 的模板,可以按照这个快速创建一个 Go 的 HTTP Server (基于 Gin ), https://github.com/xpzouying/go-template |
![]() |
35
iyaozhen 31 天前
看到说 gopath 赶紧❌掉,基本上都是老掉牙的教程
最简单的就是打开 GoLand ,直接用 |
![]() |
36
ota 31 天前
conda
|
37
vincentWdp 31 天前
|
38
FrankAdler 31 天前
1. 官方下载 go 安装包,解压到喜欢的路径,然后把 bin 目录加入到 PATH 里,保证能不加路径直接执行`go`,
2. 执行 go env ,根据需要调整其中的几个变量,一般在 bashrc 或者 profile 里自定下比如 GOPATH 、GOPRIVATE 、GOPRIVATE 、GOCACHE 、GOPROXY 这几个就够了 |
39
theoriz 31 天前
devcontainer
|
![]() |
40
noyidoit 31 天前
不需要配置,直接 go mod init/tidy
多版本并存也不需要 gvm ,直接 go install +go download ,参考 https://go.dev/doc/manage-install |
![]() |
41
me1onsoda 31 天前
现在不是 go mod 吗
|
![]() |
42
wjx0912 31 天前
mac: brew install go
windows: winget install --id GoLang.Go linux: apt install golang-go |
43
lsilencej 31 天前 ![]() |
![]() |
44
jtsang 31 天前
mise 一把梭
|
![]() |
45
hpu423 31 天前
打开 powershell (管理员权限)执行
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin choco install golang choco install nodejs choco install yarn |
46
lvlongxiang199 31 天前
同意 @NessajCN 的观点. OP 估计是个初学者, 别整那么多花里胡哨的, 先装上最新的 golang 就行, gvm 就算了吧, 估计也用不到多个 golang 版本
|
![]() |
47
Nazz 30 天前
首先安装或者直接解压编译器, 然后配置 GOROOT, GOPATH, GOPROXY, 把 $GOROOT/bin 和 $GOPATH/bin 加入 $PATH
|
48
fenghuang 30 天前 via Android
不设置 gopath ,go mod 下载的依赖放在哪里?
|
![]() |
50
SGL 5 天前
据我目前的了解,GOPATH 还是可以配置的,这个可以的意思就是“非必须”。如果不配置 GOPATH ,go mod init 以及 go install 下来的依赖或者可执行文件都会存储到$HOME/go/ 这个目录下面,在 Mac 和 Linux 你会在的 home 目录看到一个 go 的目录。Win 不知道,没有在 win 环境下搞过。
|
![]() |
51
SGL 5 天前
https://go.dev/wiki/GOPATH 。看下这个你就知道了,虽然说无脑不用管,但是还是可以看下这个环境变量到底起什么作用,以及缓存到底去哪儿看,心里有数。
|
![]() |
52
SGL 5 天前
|