# Golang 公共项目 ## Golang开发环境安装 ### 安装 [此处](https://studygolang.com/dl) 下载安装 ### 环境变量配置 **Windows** 在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: ``` GOROOT=C:\go GOPATH=%USERPROFILE%\go ``` PATH环境变量末尾添加 %GOROOT%\bin **MAC OS X** > cd > sudo vi .bash_profile 修改以下项目 ``` export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH="${GOROOT}/bin:${PATH}" ``` > source .bash_profile 更新配置 与Java、Python、NodeJS、PHP等均不同,只是开发环境需要安装用于代码编译,生产环境直接运行项目编译好的可执行文件即可,无需安装任何类似JRE、Python、v8、PHP的虚拟机或运行时环境! 执行以下操作前请理解并确认: 1. GOPATH 环境变量已配置,例如配置到用户目录下的go目录 2. GOPATH 目录是用于存放golang项目和其相关依赖的目录,所有golang项目代码都应该位于GOPATH目录中的src子目录下的包括代码托管地址、组织名、项目名在内的多级子目录下 ## 获取项目 ### 获取 > go get -v -insecure -d git.haoqitour.com/haoqi/go-common 参数:-v 显示详情,-insecure 非https版本仓库路径,-d 仅获取,不编译安装到GOPATH 可能会卡住或者报错,不用管,只要项目本身源代码文件获取下来了即可,文件保存位置即在上述GOPATH目录中的子目录里 **完成上述操作之后,以后日常开发都可以正常使用git命令来获取和提交此项目代码** ### 建立软连接 建立软连接的目的仅仅是为了方便找而已! 使用GoLand等开发工具时,仍然打开GOPATH里面的项目目录,而不是打开软连接位置的! **Windows** Power Shell 或 Windows CMD (需要用管理员身份运行): **注意,Windows Power Shell打开后首先输入cmd进入Windows CMD,下同不再累述** > mklink /D %USERPROFILE%\Documents\project\haoqitour\go-common %GOPATH%\src\git.haoqitour.com\haoqi\go-common **MAC OS X** > sudo ln -s $GOPATH/src/git.haoqitour.com/haoqi/go-common/ ~/Documents/project/haoqitour/go-common ## 相关依赖 ### Golang官方包 Golang运行时 >= 1.10.3 其他常用golang官方包,因为golang.org被墙,所以用以下步骤获取: **Windows** ```cmd git clone https://github.com/golang/net.git %GOPATH%\src\golang.org\x\net git clone https://github.com/golang/text.git %GOPATH%\src\golang.org\x\text git clone https://github.com/golang/tools.git %GOPATH%\src\golang.org\x\tools git clone https://github.com/golang/sys.git %GOPATH%\src\golang.org\x\sys git clone https://github.com/golang/crypto.git %GOPATH%\src\golang.org\x\crypto cd %GOPATH%\src go install golang.org\x\text ``` **MAC OS X** ```bash git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net \ && git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text \ && git clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/tools \ && git clone https://github.com/golang/sys.git $GOPATH/src/golang.org/x/sys \ && git clone https://github.com/golang/crypto.git $GOPATH/src/golang.org/x/crypto \ && cd $GOPATH/src/ \ && go install golang.org/x/text ``` ### 第三方包 如果有未下载的依赖包,进入项目目录,执行以下命令即可 > go get -v 本项目主要依赖包如下 [结构化日志logrus](https://github.com/Sirupsen/logrus) [结构化日志logrus输出到graylog](https://gopkg.in/gemnasium/logrus-graylog-hook.v2) [配置文件读取viper](https://github.com/spf13/viper) [数据库ORM框架xorm](https://github.com/go-xorm/xorm) 默认的golang依赖库是全局的,如果希望各个项目各自管理自己的依赖,可以使用 [godep](https://github.com/tools/godep)