GO111MODULE 环境变量

  • GO111MODULE
    • 解析
      • 一开始发布的时候
        • 一开始go发布的时候是没有包管理的
        • go get命令会根据路径,把相应的模块获取并保存在$GOPATH/src
        • 也没有版本的概念,`master`就代表稳定的版本
      • 后来引进了Go Module
        • 在GO1.11引入
        • 不再是只有一个版本了
        • 利用go.mod记录每个包的版本
      • 于是问题就来了
        • 到底是按照$GOPATH的规则走还是按照Go Module来呢?
      • GO111MODULE
        • 是一个环境变量,用于改变go引入包的方式
        • go1.11和go1.12
          • GO111MODULE=on,这个设置会强迫使用Go modules,即使项目在你的GOPATH里。需要go.mod才能工作。
          • GO111MOUDLE=off,使用GOPATH的方式,即使在GOPATH外边
          • GO111MODULE=auto,默认设置。
            • 当你不在GOPATH内的时候,就类似GO111MODULE=on
            • 当你在GOPATH内的时候,即使存在go.mod,也是GO111MODULE=off的效果
          • 当你在GOPATH内,然后你需要GO modules来做一些操作的时候(如go get一个特定的版本),那就需要这么干:
            • GO111MODULE=on go get xxxxx
        • 1.13
          • 使用Go 1.13,auto的意思改变了:
            • 如果找到了go.mod,或者在没有go.mod,但是在GOPATH外,那效果就是GO111MODULE=on(强迫使用go module)。所以你可以把所有的仓库都保存在你的GOPATH
              • why?
            • 没有go.mod的时候,在GOPATH里,效果就是GO111MODULE=off(获取包并放在$GOPATH/src/)
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值