从源码启动或编译

要想从源码启动TeaWeb,或者从源码编译TeaWeb,需要有以下几个前提,缺一不可:

安装Golang

如果你还没有安装Golang运行环境,请先安装,Go的版本需要在 v1.10.0以上,国内可以从 GO语言中文网 下载并安装。

安装Go之后,需要确保go命令在系统的PATH环境变量中,可以通过以下命令测试Go是否可用:

  1. go version

安装Git

运行环境必须有Git命令行环境,并需要确保git命令在系统的PATH环境变量中,可以通过以下命令测试Git是否可用:

  1. git --version

如果还没有安装Git,可以从这里下载你的操作系统对应的版本。安装后可能需要重新打开你的终端或命令行工具才会生效。

使用工具下载源码

TeaWeb提供了一个工具方便开发者下载源码,可以在 https://github.com/TeaWeb/code-setup/releases 下载最新的版本,然后在某个空目录运行此工具,即可下载全部源码到当前空目录,并且会自动启动下载好的TeaWeb服务。

从源码运行

  • https://github.com/TeaWeb/build 中下载项目源码,放到本地磁盘上;
  • 在开发工具中设置全局变量GOPATH为项目目录路径;
  • cdsrc/main 目录
  • 执行 init.sh (Windows上是init.bat)初始化项目,如果下载中出现网络错误,可以尝试多次运行此脚本;
  • 执行 run.sh (Windows上是run.bat) 启动项目;
  • 在浏览器中访问 http://127.0.0.1:7777

从源码编译

  • https://github.com/TeaWeb/build 中下载项目源码,放到本地磁盘上;
  • 在开发工具中设置全局变量GOPATH为项目目录路径;
  • cdsrc/main 目录
  • 执行 init.sh (Windows上是init.bat)初始化项目,如果下载中出现网络错误,可以尝试多次运行此脚本;
  • 运行 build-[系统版本].sh 构建可执行文件,Windows上交叉编译环境配置比较复杂,建议在Linux或Mac上进行;
  • 构建后的文件在 项目根目录/dist/ 目录下。

使用Git下载源码

如果你想使用Git下载源码,可以使用下面命令:

  1. git clone https://github.com/TeaWeb/build.git

然后再运行init.sh(在Windows上使用init.bat):

  1. ./init.sh

GoLand

如果你正在使用GoLand开发工具,则可以在下面的界面中设置GOPATH:goland.png其中画红框的部分为你的本地的项目根目录,在src目录的上一级。

常见问题

编译时遇到ACME相关错误

因为我们自己修改了go-acme/lego包,所以如果你直接从github上用go get获取代码可能会出现以下错误:

  1. ../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参数:

  1. git clone "https://github.com/TeaWeb/build.git" --depth=1

解决方法:只需要从 https://github.com/TeaWeb/build/tree/master/src/github.com/go-acme/lego 下载源码并覆盖即可。

寻求帮助

遇到了问题?可以在这里找到社区的联系方式,加入社区在线咨询。