install、v1-install、v2-install 和 new-install 之间有什么区别?

Che*_*ery 7 haskell cabal cabal-install

命令installv1-installv2-installnew-install简单地描述为运行时“安装软件包” man cabal。它们彼此不同吗?哪个是首选?

dan*_*iaz 9

对于cabal-install 的现代版本, installnew-installv2-install是相同的。v1-install其他v1-命令已过时,不应再使用。

请注意,在开发 cabal 包时,install命令基本上是不必要的。运行cabal buildcabal repl会自动安装所需的依赖项(在cabal 文件build-depends:部分列出)。

cabal install在以下情况下仍然有用:

  • 从包中安装可执行文件。就像wai-app-staticwarp包中的可执行文件一样。在这些情况下,选项、 和 很有用。--overwrite-policy--install-method--installdir
  • 在某个文件夹中创建本地包环境,以便“裸”调用ghcghci查看一些所需的库集。像这样。在这些情况下,选项--lib--package-env很有用。