我想在本地重新编译/重新安装已经通过OPAM下载的软件包,但不再下载它。
opam reinstall
似乎总是重新下载该软件包,我看不到禁用它的选项。
以下是可能需要执行本地重新安装的几个原因:
答案 0 :(得分:4)
opam
将尝试与上游包保持同步下载的包。这意味着,如果包在本地缓存中并且它与上游包没有区别,那么它将不会被下载。
如果要在本地更改源代码,则需要pin
包。
其他选项是创建自己的存储库并将其添加到您的opam。您的本地存储库可以包含所有包或仅包含您感兴趣的几个包。对于处理本地存储库,有一个opam-admin
工具。
创建自己的存储库不是一件非常简单的任务,因此我建议您使用pin
命令,并将您希望在本地拥有的包打包到指定的本地路径。
示例(需要opam 1.2或更高版本)
opam source lwt.2.4.8
opam pin add lwt lwt.2.4.8
lwt
被选为任意的,只因为它很短。第一个命令将下载指定版本的源,并将它们与lwt.2.4.8
文件一起放在文件夹opam
中。第二个将强制opam工具使用此特定文件夹作为lwt
包的源。