How do I fix the error message "use of an internal package not allowed" when go getting a golang package?

huangapple go评论79阅读模式
英文:

How do I fix the error message "use of an internal package not allowed" when go getting a golang package?

问题

你好!根据你提供的信息,你正在使用Go 1.5.3版本,并且在运行go get -x github.com/goji/goji命令时遇到了错误信息。错误提示是git checkout masterpackage github.com/goji/goji imports goji.io/internal: use of internal package not allowed

这个错误通常是由于导入了一个内部包而导致的。内部包是指在包的内部使用,不对外公开的包。根据错误信息,你导入的goji.io/internal包是一个内部包,而在你的代码中使用了它。

要解决这个问题,你可以尝试以下几个步骤:

  1. 检查你的代码中是否直接或间接地导入了goji.io/internal包。如果有,尝试将其替换为公开的包或其他可用的替代包。

  2. 检查你的代码中是否有使用了goji.io/internal包的功能或特性。如果有,尝试找到替代的方式或包来实现相同的功能。

  3. 如果你无法找到替代包或解决方案,你可以尝试升级你的Go版本。较新的Go版本可能已经解决了这个问题。

希望这些步骤能帮助你解决问题!如果你还有其他问题,请随时提问。

英文:

I am using go 1.5.3. I ran this

go get -x github.com/goji/goji

and I am getting this error message:

git checkout master
package github.com/goji/goji
imports goji.io/internal: use of internal package not allowed

How do I resolve this ?

答案1

得分: 4

从那个goji问题13中,正确的命令是:

go get goji.io

那个页面http://goji.io/go-import元指令:

<meta name="go-import" content="goji.io git https://github.com/goji/goji">

这样,Go就不会将goji.io/internal(例如router.go)视为尝试导入“第三方”的内部包。
这个问题说明了错误的内部导入情况:

> 你不被允许导入第三方仓库的内部包(或其子包)。

英文:

From that goji issue 13, the right command is:

go get goji.io

That page http://goji.io/ has the go-import meta directive:

<meta name="go-import" content="goji.io git https://github.com/goji/goji">

That way, go does not consider goji.io/internal (see for instance router.go) as trying to import internal package of a "third-party".
This issue illustrates the wrong internal import case:

> You are not allowed to import internal package (or its subpackages) of a third party repo.

huangapple
  • 本文由 发表于 2016年1月24日 16:59:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/34973883.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定