如何安装插件

时间:2019-03-07 20:53:04

标签: go plugins

TL; DR:使用.so安装插件时,go install -buildmode=plugin文件在哪里结束?

我有一个使用插件的项目。布局是这样的:

myproject/
├── main.go
└── modules
    ├── bar
    │   └── main.go
    └── foo
        └── main.go

当我运行go install时,二进制文件安装成功。 但是我也想为我的每个模块运行go install,并使它们可用于系统中任何地方的主二进制文件。 如果我从模块文件夹(例如go install -buildmode=plugin)内运行modules/foo,该命令将运行到完成,但在任何地方都找不到结果文件。

1 个答案:

答案 0 :(得分:0)

安装普通软件包的结果是:

GOPATH/pkg/<goos>_<goarch>_dynlink/path/to/parent/folder/packagename.a

安装main软件包的最终结果是:

GOPATH/bin/foldername

(其中foldername是您安装的main软件包的父文件夹,在Windows上它将得到.exe扩展名)。

当您“开始安装”使用-buildmode=plugin的插件时,该插件最终会出现在

GOPATH/pkg/<goos>_<goarch>_dynlink/path/to/parent/folder/foldername.a