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

环境变量 GOPATH 是固定的,是否意味着代码库必须在指定路径下编写?

  •  1
     
  •   429463267 · 2021-07-08 09:57:42 +08:00 · 2235 次点击
    这是一个创建于 1238 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我的 go 环境如图:

    GOPATH=D:_code\kl-go\GOPROJECT

    GOPATH 是固定的,于是我的项目代码就必须在这里:D:_code\kl-go\GOPROJECT\src

    可是我想在磁盘任意路径存放我的 go 代码,那我该如何动态维护 GOPATH 变量?

    我尝试过在 global GOPATH 以外的路径存放代码,然后 IDEA 修改 project GOPATH,发现无效,某些导包会报错。

    image

    也就是上图标记 2 中添加自定义路径,然后关掉标记 3,但是这样做不生效。

    17 条回复    2021-07-13 15:59:57 +08:00
    Carseason
        1
    Carseason  
       2021-07-08 10:00:09 +08:00
    gomod
    Vegetable
        2
    Vegetable  
       2021-07-08 10:02:33 +08:00   ❤️ 1
    我看了一下发帖时间:2 分钟前。
    兄弟,2021 年了,你说这个问题一般是在两年前问的,现在大家都用 go mod,这个放哪都行
    maemual
        3
    maemual  
       2021-07-08 10:02:46 +08:00
    go mod 之前的时候确实是代码得放在 GOPATH 下。用了 go mod 之后就不需要了。
    thet
        4
    thet  
       2021-07-08 10:06:21 +08:00
    看看 go mod 怎么用吧
    huihuiHK
        5
    huihuiHK  
       2021-07-08 10:10:39 +08:00
    go mod
    xarthur
        6
    xarthur  
       2021-07-08 10:16:59 +08:00 via iPhone
    以前是,现在有了 Go mod 就无所谓了。
    ScepterZ
        7
    ScepterZ  
       2021-07-08 10:19:33 +08:00
    找个 go mod 的教程看,你这个是之前的做法了,马上就不支持了
    keepeye
        8
    keepeye  
       2021-07-08 10:21:57 +08:00
    go mod 之后,不用了。某种程度 GOPATH 可以看成是全局依赖所在位置
    429463267
        9
    429463267  
    OP
       2021-07-08 10:36:23 +08:00
    JKeita
        10
    JKeita  
       2021-07-08 10:36:38 +08:00
    go mod 不用
    mengdodo
        11
    mengdodo  
       2021-07-08 10:38:30 +08:00
    111
    Marmot
        12
    Marmot  
       2021-07-08 16:20:22 +08:00
    就是因为这个,所以有了 go mod 现在方便多了
    DefoliationM
        13
    DefoliationM  
       2021-07-08 18:47:01 +08:00
    大清亡了?
    jasonkayzk
        14
    jasonkayzk  
       2021-07-09 08:31:32 +08:00 via Android
    GOPATH 早就凉了,可有可无。
    chaodada
        15
    chaodada  
       2021-07-09 10:16:30 +08:00
    go mod 简直不要太方便
    eudore
        16
    eudore  
       2021-07-12 09:03:45 +08:00
    gopath 可以配置多个目录,第一个目录放依赖,第二个目录作为 worksapces 。

    gomod 解决了多版本和 goproxy,但是也引入了些新问题。
    nmap
        17
    nmap  
       2021-07-13 15:59:57 +08:00
    有 go mod 后,GOPATH 还保留着,应该是为了存放 mod 下载的那些 pkg
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5489 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:52 · PVG 16:52 · LAX 00:52 · JFK 03:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.