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