go - 我想从 Goproxy 中删除我的私有(private)包

标签 go go-modules

这是一个 go 模块问题。
我的电脑正在运行 go 1.13 并且 go 模块模式已打开。

这是我的go env :

GO111MODULE="on"
GOPRIVATE=""
GOPROXY="https://goproxy.io,direct"

一开始我写了一个公共(public)包进行测试,并上传到github。然后我“去拿”这个独立包。之后我将其设为私有(private),甚至从 github 中删除(我尝试了“git clone”但无法再次下载)。但是在我从 github 中删除它之后,我可以“去获取”它。很快我意识到这个包可能缓存在 goproxy.io 或其他代理数据库中。所以我再次设置了 GOPROXY="direct"和 "go get"这个包并且失败了。这个 Action 证明了我的猜测。

现在是我的问题:
  • 如何从 goproxy.io 或其他数据库中删除整个包。
  • 有没有一种安全的方式来使用 go 模块,我不想把我的私有(private)代码错误地上传到其他数据库。

  • 我试图 STFW 并没有发现任何东西。感谢大家阅读和回答这个问题。

    最佳答案

    如果你不小心发布了一个你打算私有(private)的包/模块,那么 go.dev: About页:

    Removing a package

    If you would like a package removed, please send an email to go-discovery-feedback@google.com, with the import path or module path that you want to remove.



    但正如 Adrian 在评论中提到的,不能保证没有人下载您发布的软件包。

    如果您希望某些包/模块保持私有(private),您可以在 GOPRIVATE 中枚举它们(使用 glob 模式)。 , GONOPROXY , GONOSUMDB go 工具尊重的环境变量。

    Command go: Environment variables:

    GOPRIVATE, GONOPROXY, GONOSUMDB
      Comma-separated list of glob patterns (in the syntax of Go's path.Match)
      of module path prefixes that should always be fetched directly
      or that should not be compared against the checksum database.
      See 'go help module-private'.
    


    来自命令 go help module-private :

    The GOPRIVATE environment variable controls which modules the go command considers to be private (not available publicly) and should therefore not use the proxy or checksum database. The variable is a comma-separated list of glob patterns (in the syntax of Go's path.Match) of module path prefixes.



    这些变量也可以使用 go env -w 设置。命令。您可以使用 go help env 获得更多帮助.

    关于go - 我想从 Goproxy 中删除我的私有(private)包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60117886/

    相关文章:

    Go & Socket.io HTTP + WSS 在一个端口上与 CORS?

    visual-studio-code - 如何在 vscode 中正确使用 go 模块?

    go - go中出现 "internal error: failed to find embedded files of..."这样的错误信息是什么原因?

    go - 如何在不尝试更新其他模块的情况下将 'go get' 或 'go mod vendor' 用于特定模块?

    http - Web API 响应中的默认 HTTP header

    go - 无法解码嵌套的Yaml

    go - Go-Linq软件包的Go Mod问题

    Golang - 如何从代码内部显示模块版本

    go - axios 不发送 POST 到 golang api

    database - BTrDB 连接失败