go的常用命令
- go run 运行当个.go文件
- go install 在编译源代码之后还安装到指定的目录
- go build 加上可编译的go源文件可以得到一个可执行文件
- go get = git clone + go install 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
包管理
在使用go的过程中可能需要下载第三方的包,例如 fabric 会用到这两个包
"github.com/spf13/cobra"
"github.com/spf13/viper"
先说结论
go get -u -v gopkg.in/yaml.v2
go get -u -v golang.org/x/text
以下是详解
可以使用命令直接下载,例如
go get -u -v github.com/spf13/cobra/cobra
go get -u -v github.com/spf13/viper
如果没有墙,那么应该正常使用,否则会出现类似如下提示
Fetching https://golang.org/x/text/transform?go-get=1
https fetch failed: Get https://golang.org/x/text/transform?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
这些包需要访问golang官网,不翻墙不能直接下载。
可以使用梯子翻墙下载,但是如果没有梯子,那就得曲线救国了。直接从github上下载到本地。对应关系是https://github.com/golang/ https://golang.org/x/
具体解决办法是
# 首先创建文件目录,然后进入,最后下载源码
mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/text.git
# 最后进行安装(这个位置安装什么取决于报错是什么)
go install golang.org/x/text/transform
go install golang.org/x/text/unicode/norm
# 下载安装
go get -u github.com/spf13/viper