V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
ericgui
V2EX  ›  Go 编程语言

请教一个非常基础的问题: 这 GOPATH 怎么也设置不好

  •  
  •   ericgui · 2019-03-22 11:35:13 +08:00 · 3350 次点击
    这是一个创建于 2102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是用 vs code,设置了 gopath 是当前目录路径,GO: current GOPATH 也显示正确。 但用go env GOPATH,仍然是默认的 GOPATH

    这就非常奇怪了

    而且很显然,go get 也都安装到默认路径下了

    哪位能指点一下吗?谢谢

    微信截图_20190321192902.png

    14 条回复    2019-03-22 19:14:52 +08:00
    boris1993
        1
    boris1993  
       2019-03-22 12:04:45 +08:00 via Android
    go mod 已经摆脱 GOPATH 了吧,能不用就不用吧

    一定要用的话,直接指定系统环境变量
    sulinehk
        2
    sulinehk  
       2019-03-22 12:05:28 +08:00 via Android
    windows 应该要设置环境变量吧?以 go env 为标准
    Paual
        3
    Paual  
       2019-03-22 13:15:15 +08:00
    2 楼说的对哈,要在 windows 下面修改环境变量的,默认是在当前用户下面的目录,可以去改一下,我刚试了一下生效了
    BCy66drFCvk1Ou87
        4
    BCy66drFCvk1Ou87  
       2019-03-22 17:03:50 +08:00
    添加环境变量 GOPATH,指向你的工作空间
    imherer
        5
    imherer  
       2019-03-22 17:35:37 +08:00
    推荐 go mod
    doublleft
        6
    doublleft  
       2019-03-22 17:36:30 +08:00
    GOPATH 了解一下就好,我也推荐一波 go mod
    knowckx
        7
    knowckx  
       2019-03-22 17:50:36 +08:00   ❤️ 1
    新人不推荐上 vscode 虽然我目前用着这个,但是踩了 N 多的坑。
    还是 goland 省心
    pmispig
        8
    pmispig  
       2019-03-22 17:54:32 +08:00   ❤️ 1
    go mod 依然是很愚蠢的东西, 它还是下载在 GOPATH 下面,其实应该像 maven 放到 ~/.gopkg 然后编译的时候挪到当前项目的 .gopkg 下面。
    说是可以控制版,多个项目依赖同一库的不同版本时,冲突是怎么解决的
    xiaogui
        9
    xiaogui  
       2019-03-22 18:05:47 +08:00 via Android
    有全局 GOPATH,也有项目 GOPATH 的吧?
    Fitz
        10
    Fitz  
       2019-03-22 18:11:32 +08:00
    @pmispig 老哥 没喷对吧 GOPATH 跟.m2 不一样吗 多个项目依赖同一库的不同版本这不冲突啊
    qq976739120
        11
    qq976739120  
       2019-03-22 18:18:02 +08:00
    @pmispig 会有版本号的啊...
    wweir
        12
    wweir  
       2019-03-22 19:05:05 +08:00 via iPhone
    vscode 配置 go interfere gopath,可以实现自动切换 gopath。
    还有,当前 gopath 还是免不了的。gocode-mod 速度巨慢,三个 golang language server 的实现也还没完善 go module 的支持。
    PS: goland 虽然有缓存,补全速度快点,相比普通补全,go module 的补全、跳转依然慢了很多
    wweir
        13
    wweir  
       2019-03-22 19:09:16 +08:00 via iPhone
    @pmispig 生态已经形成,gopath 没个十几二十年是抹不掉的,不想看到的话,自己把它定义到看不见的地方吧

    依赖同一库的不同版本可以通过把多个库同时编译进二进制文件解决,貌似当前也还有点问题
    pmispig
        14
    pmispig  
       2019-03-22 19:14:52 +08:00
    @Fitz 嗯,这个的确没喷对,不好意思,我原来以为他是通过 checkout 的方式来切换版本,实际测试发现目录名带了版本号的。不过 GOPATH 可没喷错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:27 · PVG 07:27 · LAX 15:27 · JFK 18:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.