将最新版本的 zarith 与 opam 一起使用
Using the most recent version of zarith with opam
我正在使用 zarith
来处理任意大小的整数。
我在 opam.ocaml.org
上找到的最新版本是 v1.9.1(2019 年 8 月发布)。在项目的 github 页面上,我阅读了 Latest commit a9a309d on 23 Jan
(2020)。
我想切换到较新的版本,但我该怎么做呢?我要
- 保持
opam
快乐,
- 始终使用最新版本的 zarith。
请帮忙!
确实,目前 1.9.1 是 Zarith 的最新版本,可作为 opam
软件包 (https://opam.ocaml.org/packages/zarith/) and as a GitHub tag (https://github.com/ocaml/Zarith/tags) 使用。
但是,鉴于此上游 Git 存储库还包含一个 .opam
specification file, you can just as well use opam
to install the latest development version available in the master
branch, or if need be, a precise Git commit just by relying on the so-called pinning feature of opam
。
因此,您可以 运行 或者:
opam pin add -n -y -k git zarith.dev --dev-repo
或
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#master"
或
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#a9a309d0596d93b6c0c902951e1cae13d661bebd"
然后:
opam install zarith
有关 opam-pin 命令的更多详细信息
语法上不需要.dev
版本后缀,但实际上推荐使用,因为zarith.opam文件没有指定任何版本。更准确地说:
- 如果您有其他依赖项在安装时会抱怨
zarith.dev
,您可以将 dev
的版本后缀替换为任何兼容的版本字符串,“关闭”到您提交或分支已选中。
- 但是,如果您省略此版本,
opam
通常会从 opam
package repository 中选择最新版本字符串(即 1.9.1),这不一定与 Git 您选择的分支或提交。
-n
、-y
和-k
是选项的缩写形式:
--no-action
(不要轻易安装包,等待后续的 opam install
命令),
--yes
(在没有提示的情况下回答潜在的 yes/no 问题 - 一个常见的 opam pin
问题是 Package foo does not exist, create as a NEW package? [Y/n]
如果您想要安装尚未发布的自定义包在 opam-repository),
--kind=KIND
(因为pinning有好几种KINDS
,最典型的是version
、path
、git
)
如果您确实需要使用未发布的、开发中的 zarith 版本,您可以使用 opam pin add
的 --dev-repo
选项:
opam pin add --dev-repo zarith
opam install zarith
我正在使用 zarith
来处理任意大小的整数。
我在 opam.ocaml.org
上找到的最新版本是 v1.9.1(2019 年 8 月发布)。在项目的 github 页面上,我阅读了 Latest commit a9a309d on 23 Jan
(2020)。
我想切换到较新的版本,但我该怎么做呢?我要
- 保持
opam
快乐, - 始终使用最新版本的 zarith。
请帮忙!
确实,目前 1.9.1 是 Zarith 的最新版本,可作为 opam
软件包 (https://opam.ocaml.org/packages/zarith/) and as a GitHub tag (https://github.com/ocaml/Zarith/tags) 使用。
但是,鉴于此上游 Git 存储库还包含一个 .opam
specification file, you can just as well use opam
to install the latest development version available in the master
branch, or if need be, a precise Git commit just by relying on the so-called pinning feature of opam
。
因此,您可以 运行 或者:
opam pin add -n -y -k git zarith.dev --dev-repo
或
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#master"
或
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#a9a309d0596d93b6c0c902951e1cae13d661bebd"
然后:
opam install zarith
有关 opam-pin 命令的更多详细信息
语法上不需要
.dev
版本后缀,但实际上推荐使用,因为zarith.opam文件没有指定任何版本。更准确地说:- 如果您有其他依赖项在安装时会抱怨
zarith.dev
,您可以将dev
的版本后缀替换为任何兼容的版本字符串,“关闭”到您提交或分支已选中。 - 但是,如果您省略此版本,
opam
通常会从opam
package repository 中选择最新版本字符串(即 1.9.1),这不一定与 Git 您选择的分支或提交。
- 如果您有其他依赖项在安装时会抱怨
-n
、-y
和-k
是选项的缩写形式:--no-action
(不要轻易安装包,等待后续的opam install
命令),--yes
(在没有提示的情况下回答潜在的 yes/no 问题 - 一个常见的opam pin
问题是Package foo does not exist, create as a NEW package? [Y/n]
如果您想要安装尚未发布的自定义包在 opam-repository),--kind=KIND
(因为pinning有好几种KINDS
,最典型的是version
、path
、git
)
如果您确实需要使用未发布的、开发中的 zarith 版本,您可以使用 opam pin add
的 --dev-repo
选项:
opam pin add --dev-repo zarith
opam install zarith