'cabal run'给出了"无法识别的命令:运行"

Gla*_*eep 2 haskell cabal cabal-dev

我正在尝试创建简单的Cabal可执行包.

惊天动地用户指南的'运行可执行程序’一节说:

您可以使用run命令构建Cabal并运行可执行文件.

cabal run EXECUTABLE [-- EXECUTABLE_FLAGS]
Run Code Online (Sandbox Code Playgroud)

然而,当我输入该命令时:

$ cabal run HelloWorld
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

cabal: unrecognised command: run (try --help)
Run Code Online (Sandbox Code Playgroud)

cabal --help告诉我,确实没有run命令.

我错过了什么吗?如何运行我的可执行文件?


我是Haskell和Cabal的新手; 请告诉我这里包含哪些信息会有所帮助.

我在Mac OS X 10.8.5上.

cabal --version 得到:

cabal-install version 0.14.0
using version 1.14.0 of the Cabal library 
Run Code Online (Sandbox Code Playgroud)

ghc --version 得到:

The Glorious Glasgow Haskell Compilation System, version 7.4.2
Run Code Online (Sandbox Code Playgroud)

Dan*_*ner 10

您的cabal-install版本太旧了.最新版本的cabal-install是1.20.您可以通过运行升级到此版本cabal install cabal-install.

  • 谢谢!如果对OS X用户有用,似乎我_had_已经运行`cabal install cabal-install`但没有意识到升级安装到`〜/ .cabal/bin/cabal`,不同于Homebrew的原始安装位置`/ usr/local/bin目录/ cabal`.执行`export PATH = $ HOME/.cabal/bin:$ PATH`清除了该问题. (3认同)
  • @AlexanderSupertramp也许你的`$ PATH`中没有`$ HOME/.cabal/bin`; 或者你的shell需要`rehash`. (2认同)