- 安装go,直接下载安装包安装
- 添加:
#vim ~/.bash_profile GOROOT=/usr/local/go export GOROOT export PATH=$PATH:$GOROOT/bin GOPATH=/root/go/ export PATH=$PATH:$GOPATH GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
- zsh环境变量设置有点不一样,bash的是
~/.bash_profile
,zsh的是~/.zshrc
# vim ~/.zshrc export GOROOT=/usr/local/go export GOPATH=/Users/username/go
- 保存变更:
source ~/.bash_profile
第一种方式
-
cd ~/go/src
安装第三方包,举个栗子:
复制code.google.com.p.go.net.tar.gz到src目录下,解压缩,这时候目录应该看起来是这个样子,. └── src └── code.google.com └── p └── go.net ├── ... └── websocket ├── client.go ├── exampledial_test.go ├── examplehandler_test.go ├── hybi.go ├── hybi_test.go ├── server.go ├── websocket.go └── websocket_test.go
-
接下来安装这个包:
$ go install code.google.com/p/go.net/websocket
-
安装github上的一些go脚本工具
#前提是你已安装了git $ go get github.com/rakyll/boom $ cd ~/GOPATH/src/github.com/rakyll/boom $ go build boom.go $ boom
此时boom.go 已被编译成可执行文件,直接执行boom
第二种方式
Failed to install golang.org/x/crypto/bcrypt
I found temporary solution.
Library golang.org/x/crypto/bcrypt has mirror on github.
Create folder src/golang.org/x/
into you GOPATH
.
mkdir -p $GOPATH/src/golang.org/x/
Then clone crypto from github.
cd $GOPATH/src/golang.org/x/
git clone git@github.com:golang/crypto.git
第三种方式
- 发现个更便捷的方式:gopm
使用方式:gopm get <package name>@[<tag|commit|branch>:<value>]
- 最新版本:
gopm get github.com/go-xorm/xorm
该命令下载最新版本的 xorm,并根据 gopmfile 下载它的依赖包。 - 固定分支:
gopm get github.com/go-xorm/xorm@branch:master
该命令下载 xorm 的 master 分支的最新版,并根据 gopmfile 下载它的依赖包。 - 指定标签:
gopm get github.com/go-xorm/xorm@tag:v0.2.3
该命令下载tag:v0.2.3
版本的 xorm,并根据 gopmfile 下载它的依赖包。 - 某个提交:
gopm get github.com/go-xorm/xorm@commit:6ffffe9
该命令下载提交commit:6ffffe9
时刻的 xorm,并根据 gopmfile 下载它的依赖包。 - 参数说明
--tags:应用构建 tags。
--download, -d:仅下载当前指定的包。
--update, -u:检查更新所有包。
--gopath, -g :下载所有包至 GOPATH 中。
--remote, -r:将所有包下载至 gopm 本地仓库。
--verbose, -v:显示详细信息。
- 最新版本:
第四种方式(最简单)
本质上go获取包的时候有两个步骤,下面针对这两个步骤分别处理。
-
http层面增加代理
添加如下环境变量,来解决https fetch failed问题,可以将以下exoprot语句保存到~/.bash_profile
,直接在命令行export只生效一次,重启失效-
export http_proxy=socks5://127.0.0.1:1080
// 梯子的本地端口 export https_proxy=$http_proxy
-
-
go get层面增加代理
go 1.11版本新增了 GOPROXY 环境变量,go get会根据这个环境变量来决定去哪里取引入库的代码,可以将以下exoprot语句保存到~/.bash_profile
,直接在命令行export只生效一次,重启失效-
export GOPROXY=https://goproxy.io
其中,https://goproxy.io 是一个goproxy.io这个开源项目提供的公开代理服务。
-