I’m trying to build and run a repo (https://github.com/hyperledger/fabric/tree/master) but this error keeps popping up and still I haven’t found a solution to this.
consensus.go:12:2: use of internal package github.com/hyperledger/fabric/internal/pkg/identity not allowed
This is just one of many files that give this error.
I’m pretty sure I’m doing something wrong since this repo is suppose to be working.
Go version :
go version go1.13.5 linux/amd64
OS : Linux Mint 19.2 Cinnamon
Internal packages (packages that are inside a folder that has an
internal folder in their path) can only be imported from packages rooted at the parent of the
E.g. a package
pkg/foo/internal/bar can be imported by the package
pkg/foo/internal/baz and also from
pkg/foo/baz, but cannot be imported by the package
pkg nor can it be imported by
pkg/bar. This is by design. This is so big, complex packages can be broken into smaller packages without having to expose internals.
You have to treat internal packages as “private” or non-existent from the “outside”.
Read more about internal packages at Command go: Internal Directories.
Internal packages are a compiler restriction. If you want to expose them (if you want to use an internal package) in your own project, you have to remove the
internal folder, and then of course you have to change the imports (import paths) too.
Answered By – icza
Answer Checked By – Marilyn (GoLangFix Volunteer)