我可以使用 opam 从本地文件制作软件包并安装它吗?



我是opam的新手,并试图弄清楚如何正确使用它。 对于课程,我想为学生设置一个安装了一些自定义包的环境。 (该软件包将包含我从另一所学校的同事那里获得的一些原始.ml文件;这些文件在他们的github上,但我看不到.opam文件,据我所知,它们不在任何官方软件包版本中。

我可以以某种方式将这些本地 .ml 文件称为软件包并要求 opam 安装它吗? 文件是否必须首先在 github 上,如果是,我可以使用同事的现有存储库作为源吗? 我不想公开这些,因为这不是我自己的作品;我只想配置我的本地环境,以便文件中的代码可以轻松地作为包包含在内。 基本上我不知道最好的方法,所以我很高兴得到任何建议。

您可以在项目的基目录中添加自定义 opam 文件。有关如何创建该文件,请参阅文档。

然后,您可以在基目录中输入opam pin add .,您的项目将像 opam 包一样安装。查看opam pin --help以获取更多信息(例如,还可以固定到远程 git 项目(。

请注意,尽管默认存储库托管在 github 上,但这绝不是 opam 的要求。Opam 依赖于 git,但您绝对可以将其与私有 git 存储库一起使用。如果你想使用同事的仓库作为源代码,这是完全可行的,尽管通常最好将opam文件放在目录的根目录(你可以在他们的仓库上做一个PR或在github上制作你自己的分支,该网站清楚地表明你复制了代码(。

如果固定不符合您的口味,您也可以创建自己的存储库,尽管这对于您的需求来说可能有点太重量级了。

祝你好运!

最新更新