当我想处理库并提交补丁时,我经常喜欢使用raco pkg install --clone
(如果库已经安装,则raco pkg --update clone
)。
但是,我不小心在错误的文件夹中运行了raco pkg update --clone
,现在我似乎无法将其移动到正确的目录。
简单地移动目录,但球拍(可以理解)不知道如何处理,我尝试只是删除目录,但这也不起作用。
理论上我可以卸载该软件包并重新安装它。但是我有很多已经依赖于它的软件包,必须卸载所有这些软件包,然后重新安装它们会非常烦人。
我还有其他选择吗,或者我注定要手动卸载并重新安装大量软件包(或者只是重新安装整个 Racket 发行版)?
是的,您可以将--clone
的软件包转换回常规软件包。您要查找的标志是 --lookup
.你应该做的是:
raco pkg update --lookup <my-package>
cd to/the/desired/dir
raco pkg update --clone <my-package>
请注意,--lookup
所做的只是告诉 Racket 使用它拥有的下载副本,而不是您指向的克隆存储库。它不会删除旧的克隆存储库。因此,如果您不再需要它在系统上,则必须自己将其删除。
此外,请注意此处raco pkg update
的使用。即使您通过在错误的目录中运行raco pkg install --clone ...
而遇到问题,您仍然应该在此处运行raco pkg update ...
,因为您只是在 Racket 查找包的位置移动
最后,您可以同时使用 --lookup
和 --clone
:
cd to/the/desired/dir
raco pkg update --lookup --clone <my-package>
我还应该指出,这个答案是基于Racket邮件列表中的类似问题。