无网环境下,搭建一个beego的框架,作者在网上搜了好多博客,都是说的是通过go get的方式来实现自动的下载和安装,很是苦恼。无意间经过一个兄弟的提醒,可以将相关的库放在本地就可以了。于是又尝试了一下,由于对GOPATH和GOROOT、go get命令等的理解不深,导致源码放入的位置不对,一直没有成功。
1、GOPATH和GOROOT的理解
GOROOT其实就是go的安装路径,如安装在/opt/go下,那么:GOROOT=/opt/go
GOPATH其实就是我们自己的go工作目录(官方的说是作为编译后二进制的存放目的地和import包时的搜索路径),我们可以在src下创建你自己的go源文件, 然后开始工作。如 GOPATH=/home/go
(1)GOPATH之下主要包含三个目录: bin、pkg、src
(2)bin目录主要存放可执行文件;
pkg目录存放编译好的库文件, 主要是*.a文件;
src目录下主要存放go的源文件
2、go build、go install 、go get的理解
go build 加上可以编译的go源文件可以得到一个可执行文件。(在go源码所在目录下)
go install 在编译源代码之后还安装到指定的目录(在GOPATH/bin目录下)
go get 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
3、beego框架的搭建
(1)在/etc/profile文件中增加如下设置
export GOROOT=/opt/go (安装路径)
export GOPATH=/home/go (工作路径)
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
执行source /etc/profile 使其配置生效
(2)在GOPATH路径下创建bin、pkg、src三个目录
创建GOPATH/src/github.com/astaxie/beego目录 (github上下的源码存放的地方)
创建GOPATH/src/github.com/beego/bee目录 (github上下的源码存放的地方)
将下载的beego和bee安装包解压放在相应的目录中
(3)在beego和bee目录下执行 go install 进行编译和安装
到此,环境已经搭建成功了。可以检测安装一下
$ cd $GOPATH/src
$ bee new hello
$ cd hello
$ bee run hello
一旦程序开始运行,您就可以在浏览器中打开 http://localhost:8080/ 进行访问。
4、总结
(1)go get 的源码放在GOPATH/src目录下
如:go get github.com/astaxie/beego 则
将创建GOPATH/src/github.com/astaxie/beego目录,并下载相关源码
(2)go get 还具有编译安装功能
(3)如果想无网条件下,执行其他的开源项目,可以直接下载到本地,然后创建相应目录并放入源代码,进行编译和安装即可(在源码下执行go install)