mindoc源码编译和部署

主要讲下编译过程和遇到问题

因为mindoc 是使用go 开发的,所以要知道go中的包的管理模式,官网介绍是使用dep管理的,但是因为可以下载到源码,因此我选择使用mod 方式来处理依赖包关系,当然你也可以直接使用go get 这个是最直接的方式吧。

首先下载源码 :https://github.com/lifei6671/mindoc

然后把源码放到随便一个目录下,因为在go mod 方式下不受gopath 限制的,因此可以随便找个自己想要的目录下存放。我的目录为 F:\git\mindoc。

接着要在F:\git\mindoc 项目根目录下(即main.go所在目录)打开控制台 (有个快捷方式:shift +右键 然后选中在‘此处打开命令行’) 然后需要初始化mod 管理包关系,使用命令 go mod init +项目模块名称(项目模块名初始化时候一定要 以github.com开头,就是github原本路径项目名称,否则到时候编译程序会出现问题,我是用的是github.com/lifei6671/mindoc)。初始化后你会发现目录下多出一个 go.mod文件,接着就可以直接go build 编译工程了。

 

遇到问题:

1、go build前需要把 环境变量GO111MODULE 设置为 auto 或者on ,设置方式在cmd窗口中直接输入 set GO111MODULE=on

2、我是用的环境因为之前安装的gcc 版本 是32位,而他需要使用64位 ,因此需要下载MinGW-w64来安装了。安装时候记得设置为64位 如图mindoc源码编译和部署_第1张图片,安装完成后,需要把mingw64的bin路径添加到系统path中,然后重开一个cmd 输入gcc -v 就可以查看到64信息了,如下图

mindoc源码编译和部署_第2张图片

3、还有就是因为有些包需要使用的,所以需要设置下代理路径,设置方式 set GOPROXY=https://goproxy.io

4、还遇到包找不到问题 gopkg.in/russross/blackfriday.v2 这个包编译时候找不到,因此需要使用go mod edit -replace 来替换下最新的包,最新的包你的访问旧包的 链接,然后跳转过去,才能查看到。命令为:git mod edit -replace gopkg.in/russross/blackfriday.v2=github.com/russross/blackfriday/v2@latest  这里需要注意的是,前面旧包可以不需要@版本号,但是后面新包必须要附带上@版本号,我是用的是latest最新的包,你也可以选择指定的版本包。这个命令有点坑就是=好之间不能有空格符。

5、最后遇到的就是有些函数已经被修改了,导致返回参数不正确,这个简单,直接找到原处,把代码修改下就可以了。

部署:

首先需要找到 app.conf.example文件,把.example去掉。然后修改里面的配置,其实主要就是设置 db_adapter  db_database,这两个,因为他默认是使用sqlite3 的,而我是使用mysql 的所以直接把这个设置为 db_adapter="${MINDOC_DB_ADAPTER||mysql}" , db_database="${MINDOC_DB_DATABASE||mindoc_db}" 即可。

然后在mysql上建立 数据库mindoc_db ,编码一定要设置为CHARSET=utf8mb4, COLLATE=utf8mb4_general_ci; 一切就绪,就开始初始化数据库表了。直接在项目根目录的cmd 控制台输入 mindoc.exe install 就可以了。数据库初始化后直接输入 mindoc.exe 程序就跑起来了,然后在浏览器中输入 http://localhost:8181 (默认端口为8181)就可以访问到了。

最后祝大家编译源码成功.

 

你可能感兴趣的:(GO,GO技术博客)