当前位置: 首页 > 面试题库 >

Go:运行从GitHub存储库派生的Go项目时,“不允许使用内部软件包”

董建茗
2023-03-14
问题内容

我已经习惯了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"

这是否意味着在派生Go存储库时,必须更改代码中所有依赖项的路径才能运行代码?
Go软件包系统是否完全支持存储库派生?


问题答案:

如另一个Go项目所示:

克隆fork

如果您希望使用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:<username>/influxdb

必须保留目录结构$ GOPATH / src / github.com / influxdb,以便Go导入正常工作。

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

在您的情况下,只有GitHub fork可以将您的贡献推回去,并从中发出Pull请求。由于软件包与您的GitHub的回购URL不匹配,
因此它不会作为go get工作来源。



 类似资料:
  • MOAC Go API was built for MOAC chain. It was developed from MOAC RPC API, which can be used to develop Ðapp on MOAC chain. It supports both VNODE and SCS JSON RPC API methods in MOAC network. Chain3Go

  • win11 go run .会生成exe文件到缓存目录,每次都弹出防火墙很烦,能不能指定生成目录? 谢谢

  • 问题内容: 我正在使用go 1.5.3。我跑了 我收到此错误消息: 我该如何解决? 问题答案: 从《枸杞》第13期中,正确的命令是: 该页面具有meta指令: 这样,go不会考虑(例如参见)尝试导入“第三方”的内部软件包。 此问题说明了错误的内部导入情况: 您不允许导入第三方存储库的内部包(或其子包)。

  • 现在我们知道如何使用 Go 以及它的标准库了,但是 Go 的生态要比这大的多。当着手自己的 Go 项目时,最好先查找下是否有些存在的第三方的包或者项目能不能使用。大多数可以通过 go install 来进行安装。 Go Walker 支持根据包名在海量数据中查询。 目前已经有许多非常好的外部库,如: MySQL(GoMySQL), PostgreSQL(go-pgsql), MongoDB (mg

  • 为什么会这样?最后,还有其他类似的功能我应该知道是不允许的。

  • 问题内容: Go运行时(调度程序,垃圾回收器等)可以使用多少个线程?例如,如果为is ,那么运行时将使用哪些内核线程? 编辑: 我读的理由改变对围棋1.5。有句话宣称“ 由于运行时的并行性,尤其是垃圾收集器的并行性,可以提高单goroutine程序的性能。” 我的真正问题是:如果我在具有CPU配额的Docker容器中运行一个单程序程序,那么要获得最高性能,我需要的最小逻辑处理器数是多少。 问题答案