我有一个在启动时加载插件的应用程序(守护进程)。在一个子包(daemon/interfaces)中,我有一些该程序的插件应该使用的接口。
这意味着主程序也被插件导入。
我正在使用 Go 模块(用于主程序和插件)来修复版本,我可以看到go.mod
它正在为插件使用最新版本的主程序。
我可以很好地构建它们,但是当我加载插件时它给了我一个错误说
panic: plugin.Open("plugins/my-plugin"): plugin was built with a different version of package daemon/interfaces
我正在使用 Go 1.12.7 来构建这两个包。