一 简介
-d:只执行下载动作,而不执行安装工作。
-fix:在下载代码包后先执行修正工作,而后再进行编译和安装。一些用老版本编写的代码通常会采用这种方式。
-u:利用网络来更新已有的代码包及其依赖包。
二 实战
[root@localhost ~]# rm -rf golib/src/*
[root@localhost ~]# rm -rf golib/pkg/*
[root@localhost ~]# go get -d -x github.com/go-errors/errors
cd .
git clone https://github.com/go-errors/errors /root/golib/src/github.com/go-errors/errors
cd /root/golib/src/github.com/go-errors/errors
git submodule update --init --recursive
cd /root/golib/src/github.com/go-errors/errors
git show-ref
cd /root/golib/src/github.com/go-errors/errors
git submodule update --init --recursive
[root@localhost ~]# cd golib/
[root@localhost golib]# cd src/
[root@localhost src]# ds
/root/golib/src:
github.com/
go-errors/
errors/
LICENSE.MIT
README.md
cover.out
error.go
error_test.go
parse_panic.go
parse_panic_test.go
stackframe.go
[root@localhost src]# cd ../pkg
[root@localhost pkg]# ds
/root/golib/pkg:
[root@localhost pkg]# go get -x github.com/go-errors/errors
WORK=/tmp/go-build522349256
mkdir -p $WORK/github.com/go-errors/errors/_obj/
mkdir -p $WORK/github.com/go-errors/
cd /root/golib/src/github.com/go-errors/errors
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/github.com/go-errors/errors.a -trimpath $WORK -p github.com/go-errors/errors -complete -buildid 78ef51b733174e3cd41e63b5cd6becb2a7555b58-D _/root/golib/src/github.com/go-errors/errors -I $WORK -pack ./error.go ./parse_panic.go ./stackframe.go
mkdir -p /root/golib/pkg/linux_amd64/github.com/go-errors/
mv $WORK/github.com/go-errors/errors.a /root/golib/pkg/linux_amd64/github.com/go-errors/errors.a
[root@localhost pkg]# ds
/root/golib/pkg:
linux_amd64/
github.com/
go-errors/
errors.a
[root@localhost pkg]# go get -x github.com/go-errors/errors
WORK=/tmp/go-build613833899
[root@localhost pkg]# go get -x -u github.com/go-errors/errors
cd /root/golib/src/github.com/go-errors/errors
git config remote.origin.url
cd /root/golib/src/github.com/go-errors/errors
git pull --ff-only
cd /root/golib/src/github.com/go-errors/errors
git submodule update --init --recursive
cd /root/golib/src/github.com/go-errors/errors
git show-ref
cd /root/golib/src/github.com/go-errors/errors
git submodule update --init --recursive
WORK=/tmp/go-build749454420