【发布时间】:2019-09-20 20:55:40
【问题描述】:
所以,我正在尝试安装 cabal,以便我可以在 haskell 中进行快速检查,但似乎没有任何效果。每当我尝试在我的终端(在 mac 上)运行“cabal-install”时,我都会收到相同的消息“找不到命令”,我在 cabal 网站上查看了多个不同的“解决方案”甚至“解决方案”,但什么也没有似乎工作。任何帮助都将不胜感激
【问题讨论】:
标签: cabal cabal-install
所以,我正在尝试安装 cabal,以便我可以在 haskell 中进行快速检查,但似乎没有任何效果。每当我尝试在我的终端(在 mac 上)运行“cabal-install”时,我都会收到相同的消息“找不到命令”,我在 cabal 网站上查看了多个不同的“解决方案”甚至“解决方案”,但什么也没有似乎工作。任何帮助都将不胜感激
【问题讨论】:
标签: cabal cabal-install
cabal-install 是一个包。 cabal 是cabal-install 包安装的可执行文件/命令。 cabal install 是cabal 命令的子命令——它是使用参数install 调用的命令cabal。您的完整命令“应该”是cabal install QuickCheck,但实际执行该命令没有意义。如果你有 Cabal v1 或 v2,cabal install 指的是版本 1 的安装方法,它是坏的和危险的。如果你有 Cabal v3,cabal install 指的是版本 2 的安装方法,cabal install QuickCheck 是没有意义的。它将安装QuickCheck,但QuickCheck只是一个没有可执行文件的库,所以没有意义。
假设cabal-install 已正确安装(您应该可以访问cabal 命令),您需要弄清楚您将要使用QuickCheck 做什么。如果您只想打开 GHCi 会话,请说 cabal v2-repl -b QuickCheck。如果你想编译一堆文件(即你想要更“永久”的东西),你需要创建一个包,其中 <pkgname>.cabal 文件包含类似于
build-depends: base, QuickCheck, ..etc
当您使用cabal v2-build 构建这样的包时,或者您使用cabal v2-repl -b QuickCheck 启动GHCi 时,cabal 将在需要时自动安装QuickCheck。这就是为什么cabal v2-install QuickCheck 毫无意义。
【讨论】: