Nix:安装 ssreflect
Nix: installing ssreflect
我正在使用 Coq(版本 8.5-6),安装了 Nix。我想安装 ssreflect,最好也安装 Nix。我找到的关于此的唯一信息是 。但是,这与安装 ssreflect 无关,只是试用一下。尽管如此,我还是试着尝试了一下,但最终收到了数百条警告(关于各种 .v
和 .ml4
文件的内容)并且等不及进程结束。一个相当典型的警告如下所示:
File "./algebra/ssralg.v", line 856, characters 0-39: Warning:
Implicit Arguments is deprecated; use Arguments instead
所以问题是:我究竟如何安装 ssreflect w/ Nix?
编辑:阅读 ejgallego 的评论后,似乎无法安装带有 Nix 的 ssreflect -- 尤其是。如果只想安装 ssreflect w/out 其他模块(鳍组、代数等)。所以我也有以下问题:
或 make install
安装 ssreflect 是否可以使用 Nix 安装的 Coq?
您需要注意以下几点:
Nix 是一个基于源代码的包管理器,带有二进制缓存。许多软件包是预构建的,可以在二进制缓存中使用,因此它们的安装不会花费很长时间;一些包(特别是开发库)不是预构建的,Nix 在安装它们时需要花费一些时间来编译它们。请耐心等待:您只需要等待第一次完整编译(是的,math-comp 在编译时会发出很多警告);下一次,该软件包将在您当地的 Nix 商店中提供。
由于OPAM也是基于源码的,用OPAM代替Nix不会让你节省时间。您不能将安装了 Nix 的 Coq 与安装了 OPAM 的 SSReflect 混为一谈,因为后者会将前者作为 OPAM 依赖项。
Nix 使用库的方法不是安装它们,而是使用 nix-shell
加载它们。 nix-shell
将 "install" 库并为您设置一些环境变量(例如 $COQPATH
在这种情况下)。
您也可以使用 Nix 安装的 Coq 自己从源代码编译软件包,但您不能 运行 make install
因为这会尝试在安装 SSReflect 的同一位置安装Coq 已安装,但 Nix 商店是不可更改的。相反,您可以跳过此步骤,并手动设置 $COQPATH
。
确实,完整的math-comp的编译需要很长时间。有一个更轻量的 Coq ssreflect 包。您可以使用:
nix-shell -p coqPackages_8_6.ssreflect
我正在使用 Coq(版本 8.5-6),安装了 Nix。我想安装 ssreflect,最好也安装 Nix。我找到的关于此的唯一信息是 .v
和 .ml4
文件的内容)并且等不及进程结束。一个相当典型的警告如下所示:
File "./algebra/ssralg.v", line 856, characters 0-39: Warning: Implicit Arguments is deprecated; use Arguments instead
所以问题是:我究竟如何安装 ssreflect w/ Nix?
编辑:阅读 ejgallego 的评论后,似乎无法安装带有 Nix 的 ssreflect -- 尤其是。如果只想安装 ssreflect w/out 其他模块(鳍组、代数等)。所以我也有以下问题:
make install
安装 ssreflect 是否可以使用 Nix 安装的 Coq?
您需要注意以下几点:
Nix 是一个基于源代码的包管理器,带有二进制缓存。许多软件包是预构建的,可以在二进制缓存中使用,因此它们的安装不会花费很长时间;一些包(特别是开发库)不是预构建的,Nix 在安装它们时需要花费一些时间来编译它们。请耐心等待:您只需要等待第一次完整编译(是的,math-comp 在编译时会发出很多警告);下一次,该软件包将在您当地的 Nix 商店中提供。
由于OPAM也是基于源码的,用OPAM代替Nix不会让你节省时间。您不能将安装了 Nix 的 Coq 与安装了 OPAM 的 SSReflect 混为一谈,因为后者会将前者作为 OPAM 依赖项。
Nix 使用库的方法不是安装它们,而是使用
nix-shell
加载它们。nix-shell
将 "install" 库并为您设置一些环境变量(例如$COQPATH
在这种情况下)。您也可以使用 Nix 安装的 Coq 自己从源代码编译软件包,但您不能 运行
make install
因为这会尝试在安装 SSReflect 的同一位置安装Coq 已安装,但 Nix 商店是不可更改的。相反,您可以跳过此步骤,并手动设置$COQPATH
。确实,完整的math-comp的编译需要很长时间。有一个更轻量的 Coq ssreflect 包。您可以使用:
nix-shell -p coqPackages_8_6.ssreflect