撤消 `raco pkg update --clone` 或 `raco pkg install --clone`

Undo a `raco pkg update --clone` or `raco pkg install --clone`

当我想在库上工作并提交补丁时,我经常喜欢使用 raco pkg install --clone(或者 raco pkg --update clone,如果库已经安装)。

但是,我不小心 运行 raco pkg update --clone 放在了错误的文件夹中,现在我似乎无法将其移至正确的目录。

我试过简单地移动目录,但 racket(可以理解)不知道如何处理,我试过只删除目录,但这也没有用。

理论上可以卸载软件包并重新安装。但是我已经安装了很多依赖于它的包,必须将它们全部卸载并重新安装它们会很烦人。

我还有其他选择吗,还是我注定要手动卸载并重新安装很多软件包(或者只是重新安装整个 Racket 发行版)?

是的,您可以将 --cloneed 包转换回常规包。您要查找的标志是 --lookup。你应该做的是:

raco pkg update --lookup <my-package>
cd to/the/desired/dir
raco pkg update --clone <my-package>

请注意,所有 --lookup 所做的只是告诉 Racket 使用它所拥有的下载副本,而不是您让它指向的克隆存储库。它 NOT 删除旧的克隆仓库。因此,如果您不再需要它在您的系统上,您必须自己将其删除。

此外,请注意此处使用 raco pkg update。即使你通过 运行ning raco pkg install --clone ... 在错误的目录中遇到问题,你仍然应该 运行 raco pkg update ... 在这里,因为你只是移动 Racket 寻找的地方包裹

终于可以同时使用--lookup--clone了:

cd to/the/desired/dir
raco pkg update --lookup --clone <my-package>

我还应该注意,这个答案是基于 similar question from the Racket mailing list