问题描述
install
、v1-install
、v2-install
和 new-install
命令被简单地描述为在运行 man cabal
时“安装包”。它们彼此不同吗?哪个是首选?
解决方法
对于 modern 版本的 cabal-install,install
,new-install
and v2-install
是相同的。 v1-install
和其他 v1-
命令已过时,不应再使用。
请注意,在开发 cabal 包时,install
命令在很大程度上是不必要的。运行 cabal build
和 cabal repl
将自动安装所需的依赖项(列在 build-depends:
的 cabal file 部分)。
cabal install
在以下情况下仍然有用:
- 从包安装可执行文件。就像 wai-app-static 包中的
warp
可执行文件一样。在这些情况下,选项--overwrite-policy
、--install-method
和--installdir
很有用。 - 在某个文件夹中创建本地 package environment,以便
ghc
和ghci
的“裸”调用看到一些所需的库集。喜欢this。在这些情况下,选项--lib
和--package-env
很有用。