从源码启动或编译
要想从源码启动TeaWeb,或者从源码编译TeaWeb,需要有以下几个前提,缺一不可:
安装Golang
如果你还没有安装Golang运行环境,请先安装,Go的版本需要在 v1.10.0以上,国内可以从 GO语言中文网 下载并安装。
安装Go之后,需要确保go
命令在系统的PATH
环境变量中,可以通过以下命令测试Go是否可用:
go version
安装Git
运行环境必须有Git命令行环境,并需要确保git
命令在系统的PATH
环境变量中,可以通过以下命令测试Git是否可用:
git --version
如果还没有安装Git,可以从这里下载你的操作系统对应的版本。安装后可能需要重新打开你的终端或命令行工具才会生效。
使用工具下载源码
TeaWeb提供了一个工具方便开发者下载源码,可以在 https://github.com/TeaWeb/code-setup/releases 下载最新的版本,然后在某个空目录运行此工具,即可下载全部源码到当前空目录,并且会自动启动下载好的TeaWeb服务。
从源码运行
- 从
https://github.com/TeaWeb/build
中下载项目源码,放到本地磁盘上; - 在开发工具中设置全局变量
GOPATH
为项目目录路径; cd
到 src/main 目录- 执行
init.sh
(Windows上是init.bat
)初始化项目,如果下载中出现网络错误,可以尝试多次运行此脚本; - 执行
run.sh
(Windows上是run.bat
) 启动项目; - 在浏览器中访问
http://127.0.0.1:7777
。
从源码编译
- 从 https://github.com/TeaWeb/build 中下载项目源码,放到本地磁盘上;
- 在开发工具中设置全局变量
GOPATH
为项目目录路径; cd
到 src/main 目录- 执行
init.sh
(Windows上是init.bat
)初始化项目,如果下载中出现网络错误,可以尝试多次运行此脚本; - 运行
build-[系统版本].sh
构建可执行文件,Windows上交叉编译环境配置比较复杂,建议在Linux或Mac上进行; - 构建后的文件在
项目根目录/dist/
目录下。
使用Git下载源码
如果你想使用Git下载源码,可以使用下面命令:
git clone https://github.com/TeaWeb/build.git
然后再运行init.sh
(在Windows上使用init.bat
):
./init.sh
GoLand
如果你正在使用GoLand开发工具,则可以在下面的界面中设置GOPATH:其中画红框的部分为你的本地的项目根目录,在src
目录的上一级。
常见问题
编译时遇到ACME相关错误
因为我们自己修改了go-acme/lego
包,所以如果你直接从github上用go get
获取代码可能会出现以下错误:
../github.com/TeaWeb/code/teaconfigs/ssl_acme_request.go:121:42: client.Certificate.GetRecords undefined (type *certificate.Certifier has no field or method GetRecords)
git clone下载太慢
如果git clone
太慢,可以尝试指定depth
参数:
git clone "https://github.com/TeaWeb/build.git" --depth=1
解决方法:只需要从 https://github.com/TeaWeb/build/tree/master/src/github.com/go-acme/lego
下载源码并覆盖即可。
寻求帮助
遇到了问题?可以在这里找到社区的联系方式,加入社区在线咨询。