我不小心将我的私人箱子发布到了crates.io。如何删除?我检查了documentation,但似乎无法删除已发布的板条箱。
答案 0 :(得分:15)
为避免将来出现这种情况,请确保您包括以下内容:
[package]
# ...
publish = false
在箱子的Cargo.toml中。参见documentation。
立即yank使用以下工具包装箱:
cargo yank --vers <your-version>
这将防止其他任何依赖它的箱子意外启动。
如果意外泄露了任何秘密(密码,密钥等),请认为它们不再是秘密,并采取适当措施将其替换为新的秘密。
通过crates.io与帮助人员联系,并说明情况,要求将其撤职。
如果您的解释是有充分根据的,并且尚未下载并依赖此板条箱,则他们没有理由拒绝提供帮助。
请耐心等待;一旦拉出板条箱,任何人都无法开始依赖它,因此应该没有太多时间压力。给团队几天时间以实际执行删除。
如果此事由于某种原因对时间敏感,您可以跳到IRC或Discourse上,并抓住有权执行清除的人的注意。询问,您将被定向到这样的人。
答案 1 :(得分:1)
发布后,您将无法删除它。但是,您可以yank it将您的板条箱标记为不可用:基本上,没有人会使用它,并且没有人或很少人会看到该内容。这项政策允许禁止将您的软件包作为依赖项的其他包装箱任意破坏。
如果此板条箱中有您不想公开的代码或信息,请参阅the other answer。
答案 2 :(得分:0)
Crates.io policies在删除下说:
我们将按照法律要求的方式去做,并解决公然违反Rust行为准则的行为。 […] Crates.io将尊重Mozilla Legal在托管内容方面的决定。
我建议首先将邮件发送到help@crates.io
,如果发现不合作,请升级为Mozilla Legal。只是作为最后的手段,添加蓄意违反行为准则以触发删除。
编辑,我同意这不是理想的情况,因此我提交了pull request with a proposed policy change。