我已经习惯了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?
如另一个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.