由于众所周知的原因,Google软件的全家都无法访问,或者太慢了。
Go语言也一样,一句go get之后就是无尽的等待,关键它也没有进度条。
就像几年前开发安卓SDK需要从大学或科研所下载。
也像现在Github都慢到爆——有一种1994年刚通网用56kbps的猫的感觉。
幸好我们有国内的代理,就像YUM或者Maven等等一样。
所以我们可以选择用:>>阿里云Go Module代理仓库服务<<
步骤1:设置GOPROXY
设置环境变量。
export GOPROXY=https://mirrors.aliyun.com/goproxy/
或者Windows下编辑系统环境变量(换用户环境变量需要重新登录哦)。
步骤2:go mod
进入你的go工程目录,命令行执行:
> go mod init <ProjectDIR>
编辑你的源代码,加入依赖的包:
package main
import (
"archive/tar"
"archive/zip"
"bufio"
"bytes"
"compress/gzip"
"compress/lzw"
"fmt"
"github.com/mholt/archiver/v3"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
)
执行它:
> go run unPack.go
稍等片刻(而不是一辈子),依赖的包就都下载好了,程序也正常执行了。
当然你还可以用其它指令参数看看:
> go mod verify #确认依赖关系
all modules verified
>go mod why #谁在用这些依赖
# unPack
unPack
> go mod graph #画出依赖关系
unPack github.com/mholt/archiver/v3@v3.3.0
unPack golang.org/x/text@v0.3.2
golang.org/x/text@v0.3.2 golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e
github.com/mholt/archiver/v3@v3.3.0 github.com/andybalholm/brotli@v0.0.0-20190621154722-5f990b63d2d6
github.com/mholt/archiver/v3@v3.3.0 github.com/dsnet/compress@v0.0.1
github.com/mholt/archiver/v3@v3.3.0 github.com/golang/snappy@v0.0.1
github.com/mholt/archiver/v3@v3.3.0 github.com/google/go-cmp@v0.3.0
github.com/mholt/archiver/v3@v3.3.0 github.com/klauspost/compress@v1.9.2
github.com/mholt/archiver/v3@v3.3.0 github.com/klauspost/pgzip@v1.2.1
github.com/mholt/archiver/v3@v3.3.0 github.com/nwaples/rardecode@v1.0.0
github.com/mholt/archiver/v3@v3.3.0 github.com/pierrec/lz4@v2.0.5+incompatible
github.com/mholt/archiver/v3@v3.3.0 github.com/ulikunitz/xz@v0.5.6
github.com/mholt/archiver/v3@v3.3.0 github.com/xi2/xz@v0.0.0-20171230120015-48954b6210f8
github.com/andybalholm/brotli@v0.0.0-20190621154722-5f990b63d2d6 github.com/golang/gddo@v0.0.0-20190419222130-af0f2af80721
github.com/dsnet/compress@v0.0.1 github.com/dsnet/golib@v0.0.0-20171103203638-1ea166775780
github.com/dsnet/compress@v0.0.1 github.com/klauspost/compress@v1.4.1
github.com/dsnet/compress@v0.0.1 github.com/klauspost/cpuid@v1.2.0
github.com/dsnet/compress@v0.0.1 github.com/ulikunitz/xz@v0.5.6