要想从源码启动TeaWeb,或者从源码编译TeaWeb,需要有以下几个前提,缺一不可:
如果你还没有安装Golang运行环境,请先安装,Go的版本需要在 v1.10.0以上,国内可以从 GO语言中文网 下载并安装。
安装Go之后,需要确保go命令在系统的PATH环境变量中,可以通过以下命令测试Go是否可用:
go version运行环境必须有Git命令行环境,并需要确保git命令在系统的PATH环境变量中,可以通过以下命令测试Git是否可用:
git --version如果还没有安装Git,可以从这里下载你的操作系统对应的版本。安装后可能需要重新打开你的终端或命令行工具才会生效。
TeaWeb提供了一个工具方便开发者下载源码,可以在 https://github.com/TeaWeb/code-setup/releases 下载最新的版本,然后在某个空目录运行此工具,即可下载全部源码到当前空目录,并且会自动启动下载好的TeaWeb服务。当然,事前也需要安装Golang和Git。
- 从
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 clone https://github.com/TeaWeb/build.git然后再运行init.sh(在Windows上使用init.bat):
./init.sh如果你正在使用GoLand开发工具,则可以在下面的界面中设置GOPATH:
其中画红框的部分为你的本地的项目根目录,在src目录的上一级。
因为我们自己修改了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)
解决方法:只需要从 https://github.com/TeaWeb/build/tree/master/src/github.com/go-acme/lego 下载源码并覆盖即可。
如果git clone太慢,可以尝试指定depth参数:
git clone "https://github.com/TeaWeb/build.git" --depth=1
遇到了问题?可以在这里找到社区的联系方式,加入社区在线咨询。