Go 如何安装插件

Go 如何安装插件,go,plugins,Go,Plugins,TL;DR:go-install-buildmode=plugin安装插件时,文件会在哪里结束 我有一个使用插件的项目。布局如下所示: myproject/ ├── main.go └── modules ├── bar │   └── main.go └── foo └── main.go 当我运行go install时,二进制文件安装正常。 但是我也希望为我的每个模块运行go install,并让它们在系统中的任何地方都可以使用。 如果我从模块文件夹

TL;DR:go-install-buildmode=plugin安装插件时,
文件会在哪里结束

我有一个使用插件的项目。布局如下所示:

myproject/
├── main.go
└── modules
    ├── bar
    │   └── main.go
    └── foo
        └── main.go
当我运行
go install
时,二进制文件安装正常。 但是我也希望为我的每个模块运行
go install
,并让它们在系统中的任何地方都可以使用。
如果我从模块文件夹(例如,
modules/foo
)中运行
go install-buildmode=plugin
),命令将运行到完成,但我在任何地方都找不到生成的文件。

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

GOPATH/pkg/<goos>_<goarch>_dynlink/path/to/parent/folder/packagename.a
(其中
foldername
是您安装的
main
软件包的父文件夹,它将在windows上获得
.exe
扩展名)

当你“去安装”一个插件(使用
-buildmode=plugin
)时,它会以

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

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

GOPATH/pkg/<goos>_<goarch>_dynlink/path/to/parent/folder/packagename.a
(其中
foldername
是您安装的
main
软件包的父文件夹,它将在windows上获得
.exe
扩展名)

当你“去安装”一个插件(使用
-buildmode=plugin
)时,它会以

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