乐趣区

windows命令行获取gitlab私有包

golang 私有包导入

  • github 上的公有包导入比较常见,私有包导入方面的教程不多,这里记录一下自己遇到的问题
  • 没钱买 Mac,开发环境是 Windows

设置 gitlab 的 public key

  1. 配置本地的 git,username,email 等。根据自己实际情况调整下边的参数。注意!操作都是在 git bash 上边!除非特殊说明

    $ git config --global user.name "your name"
    $ git config --global user.email "your email@address"
    // 下边这条的含义是用 ssh 的时候用 git 而不是 https
    $ git config --global url."git@address:".insteadOf "https://address.com"
  2. 然后就是在 gitlab 上边添加自己生成的 public key。操作步骤。gitlab 的文档说得很清楚。

设置代理去墙外边取包

  1. 正常来说,添加 key 之后,就可以把 gitlab 的项目拉到本地。但是 golang 项目比较特殊,我们希望用 go get 命令,把依赖的包也取过来。
  2. 这就意味着,需要在 git bash 中设置代理。注意,千万不要像我这么傻,用 CMD 的 set 去设置 http_proxy。

    $ export ALL_PROXY="socks5://127.0.0.1:1080"
  3. 直接像上边,按照 Linux 系统的习惯去设置代理。我用的是 ssr。

遇到的一个报错

  1. 上边的步骤基本完整,最后 go get 自己的私有包就行。但是,因为我的项目是用 module 做依赖管理的,所以还需要在 go.mod 那级目录下执行 go mod tidy。
  2. 报错信息:go modules disabled inside gopath/src by go111module=auto
  3. 我的解决办法。从报错信息来看就是变量 go111module 的值没设置对。改一下就 OK 了。

    $ export GO111MODULE=on
退出移动版