登录
首页 >  Golang >  Go问答

Go:运行从 GitHub 存储库分叉的 Go 项目时“不允许使用内部包”

来源:Golang技术栈

时间:2023-04-12 11:08:45 305浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《Go:运行从 GitHub 存储库分叉的 Go 项目时“不允许使用内部包”》主要内容涉及到golang等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我已经习惯了 Go,并试图了解它是如何工作的。

所以我正在尝试从我的存储库 zoonoo/go-ethereum 运行测试代码,该存储库是从原始存储库ethereum/go-ethereum 分叉的。

当我go test .eth目录下运行时,出现以下错误:

eth/api.go:37:2: use of internal package not allowed

eth/api.go 第 37 行如下: "github.com/ethereum/go-ethereum/internal/ethapi"

这是否意味着当你 fork 一个 go 存储库时,你必须更改代码中所有依赖项的路径才能运行代码?
Go 包系统是否完全支持存储库分支?

正确答案

另一个 Go 项目所示:

克隆叉子

如果你希望使用 InfluxDB 的 fork,例如你自己的 fork,你仍然必须遵循上面的目录结构。但是不要克隆主仓库,而是克隆你的分叉。请按照以下步骤使用分叉:

export GOPATH=$HOME/gocodez
mkdir -p $GOPATH/src/github.com/influxdb
cd $GOPATH/src/github.com/influxdb
git clone git@github.com:/influxdb

保留目录结构 $GOPATH/src/github.com/influxdb 是必要的,这样 Go 导入才能正常工作。

用您的项目替换 InfluxDB 名称/URL,同样的想法也适用。

在您的情况下,GitHub 分支只供您将您的贡献推回它,并从中提出拉取请求。
它不会作为go get工作的来源,因为这些包与您的 GitHub 的 repo URL 不匹配。

理论要掌握,实操不能落!以上关于《Go:运行从 GitHub 存储库分叉的 Go 项目时“不允许使用内部包”》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>