当前位置:  开发笔记 > 编程语言 > 正文

Go:在运行从github存储库派生的Go项目时"不允许使用内部包"

如何解决《Go:在运行从github存储库派生的Go项目时"不允许使用内部包"》经验,为你挑选了1个好方法。

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

所以我试图从我的存储库zoonoo/go-ethereum运行测试代码,从原始存储库ethereum/go-ethereum分叉.

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

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

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

这是否意味着当您分叉go存储库时,您必须更改代码中所有依赖项的路径以运行代码?
Go包系统是否支持存储库fork?



1> VonC..:

如另一个Go项目所示:

克隆一个叉子

如果您希望使用InfluxDB的fork,例如您自己的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 fork仅用于将您的贡献推回给它,并从中发出Pull请求.
它不会作为go get工作源,因为这些包与您的GitHub不匹配repo URL.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有