Go语言 不允许使用内部 Package

afdcj2ne  于 2023-09-28  发布在  Go
关注(0)|答案(2)|浏览(419)

我正在尝试构建并运行一个repo(https://github.com/hyperledger/fabric/tree/master),但这个错误不断弹出,我仍然没有找到解决方案。

  1. consensus.go:12:2: use of internal package github.com/hyperledger/fabric/internal/pkg/identity not allowed

这只是给予此错误的许多文件之一。我很确定我做错了什么,因为这个回购应该是工作。
Go版:

  1. go version go1.13.5 linux/amd64

操作系统:Linux Mint 19.2

krcsximq

krcsximq1#

Internal packages(位于其路径中包含internal文件夹的文件夹中的软件包)只能从以internal文件夹的父文件夹为根的软件包导入。
例如,一个软件包pkg/foo/internal/bar可以由软件包pkg/foo/internal/baz导入,也可以从pkg/foo/baz导入,但不能由软件包pkg导入,也不能由pkg/bar导入。这是设计好的。这是如此之大,复杂的包可以分解成更小的包,而不必暴露内部。
您必须将内部包视为“私有”或“外部”不存在。
查看相关内容:我可以在多个源目录中开发一个go包吗?
在Command go上阅读更多关于内部包的信息:内部目录。
内部包是一个编译器限制。如果你想在你自己的项目中公开它们(如果你想使用内部包),你必须删除internal文件夹,然后当然你也必须更改导入(导入路径)。

bttbmeg0

bttbmeg02#

更改fyne.io/fyne/v2/internal/widgetfyne.io/fyne/v2/widget

只需在代码编辑器内从包路径中删除**/internal**即可

相关问题