猿问

不允许使用内部包

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

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

这只是导致此错误的众多文件之一。我很确定我做错了什么,因为这个 repo 应该是有效的。

去版本:

go version go1.13.5 linux/amd64

操作系统:Linux Mint 19.2 肉桂


不负相思意
浏览 236回答 2
2回答

牛魔王的故事

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

ibeautiful

将fyne.io/fyne/v2/internal/widget 更改为fyne.io/fyne/v2/widget只需从代码编辑器内的包路径中删除/internal
随时随地看视频慕课网APP

相关分类

Go
我要回答