TSINGSEE青犀视频开发的EasyDarwin开源平台提供的开源项目,拥有完整的源代码,帮助开发者更快更简单实现流媒体音视频产品功能,实现移动互联网流媒体直播点播。
有位用户反馈在Windows环境下的EasyDarwin源码二次开发中,Git拉完源码,出现无法运行的情况,报:service not found
源码路径中找不到EasyDarwin.exe,应该是编译失败,需要检查一下安装环境。
1.观察EasyDarwin源码,使用的是go vendor模式。当前go的最新版本是1.16,新项目推荐使用go module模式。作为老项目,我们还是把EasyDarwin使用Git clone放在Go Path目录下,具体细节参照官方。
2.安装准备工具 go get -u -v github.com/kardianos/govendor//包管理工具 go get -u -v github.com/penggy/gobuild//热编译工具,下载可能会遇到被翻墙限制的问题, 安装成功会有对应的可以执行文件在bin目录下。
3.以开发模式npm run dev运行,又报错了 PS C:Usersadmingosrcgithub.comEasyDarwinEasyDarwin> npm run dev
easydarwin@8.1.0 dev C:Usersadmingosrcgithub.comEasyDarwinEasyDarwin go build -o EasyDarwin.exe
github.com/EasyDarwin/EasyDarwin/vendor/github.com/mattn/go-sqlite3 cgo: exec gcc: exec: “gcc”: executable file not found in %PATH%
这里是cgo需要gcc编译环境,安装mingw即可。
4.再次使用npm run dev,成功编译出EasyDarwin.exe文件,可以看到这个文件约32M。正是因为体积太大,被添加到了.gitigonre文件。这样源码中就没有这个Exe文件,才导致群里反馈无法运行。
5.运行服务
直接运行(Windows)EasyDarwin.exe
以 Ctrl C 停止服务
以服务启动(Windows)ServiceInstall-EasyDarwin.exe
以 ServiceUninstall-EasyDarwin.exe 卸载 EasyDarwin 服务