# 准备工作 > **本文档中所有shell命令基于mac OS 环境下进行。** ## 安装 goctl 环境: macOS/Linux ```bash $ GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/go-zero/tools/goctl ``` 运行输出 ```bash go: found github.com/tal-tech/go-zero/tools/goctl in github.com/tal-tech/go-zero v1.0.22 go: downloading github.com/urfave/cli v1.22.4 go: downloading github.com/logrusorgru/aurora v2.0.3+incompatible go: downloading github.com/iancoleman/strcase v0.0.0-20191112232945-16388991a334 go: downloading github.com/go-sql-driver/mysql v1.5.0 go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d go: downloading github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 go: downloading github.com/spaolacci/murmur3 v1.1.0 go: downloading github.com/russross/blackfriday/v2 v2.0.1 go: downloading go.uber.org/automaxprocs v1.3.0 go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0 go: downloading github.com/emicklei/proto v1.9.0 go: downloading gopkg.in/yaml.v2 v2.2.8 go: github.com/go-sql-driver/mysql upgrade => v1.5.0 go: gopkg.in/yaml.v2 upgrade => v2.3.0 go: github.com/urfave/cli upgrade => v1.22.4 go: github.com/cpuguy83/go-md2man/v2 upgrade => v2.0.0 go: github.com/iancoleman/strcase upgrade => v0.1.2 go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0 go: downloading github.com/iancoleman/strcase v0.1.2 go: downloading gopkg.in/yaml.v2 v2.3.0 ``` goctl 将被安装在 `$GOPATH/bin`  目录下 设置 GOPATH 并将 `$GOPATH/bin` 添加到环境变量 PATH 中 macOS/Linux : ```bash export GOPATH=$(go env GOPATH) export PATH="$GOPATH/bin:$PATH" ``` 让环境变量永久生效: zsh: ```bash echo '\nexport PATH="$GOPATH/bin:$PATH"' >> .zshrc source ~/.zshrc ``` bash: ```bash echo '\nexport PATH="$GOPATH/bin:$PATH"' >> .bashrc source ~/.bashrc ``` ## 验证安装 运行`goctl -v`,如果结果输出包含`goctl version xxx`字样则代表goctl安装成功。 ```bash goctl -v ``` 输出结果 ```bash goctl version 20201021 darwin/amd64 ```