我尝试安装了threepenny-gui,并且可能在此过程中破坏了一些东西。我的问题是(1)我如何解决这个问题,以及(2)当cabal发出关于可能重新安装的警告时,应该如何处理?
threepenny-gui警告我,它可能会破坏正则表达式:
jeffreys-mbp:~ jbb$ cabal install threepenny-gui -fbuildExamples
cabal: The following packages are likely to be broken by the reinstalls:
regex-compat-0.95.1
Use --force-reinstalls if you want to install anyway.
我还没有在haskell中使用正则表达式,所以这似乎值得冒险,我继续说道:
jeffreys-mbp:~ jbb$ cabal install threepenny-gui -fbuildExamples --force-reinstalls
这启动了一个发出此警告的流程:
Warning: The following packages are likely to be broken by the reinstalls:
regex-compat-0.95.1
但其他方面似乎有效。然后我尝试运行几个示例程序,但没有成功:
jefferys-mbp:samples jbb$ ./runhaskell Chat.hs
ghc: can't find a package database at ../.cabal-sandbox/*-packages.conf.d
jefferys-mbp:samples jbb$ ./runhaskell MissingDollars.hs
ghc: can't find a package database at ../.cabal-sandbox/*-packages.conf.d
jefferys-mbp:samples jbb$
我用Google搜索了该错误并找到only one page with it,我没看到该怎么用。
我想也许问题是我打破了regex-compat,所以我尝试重新安装:
jefferys-mbp:samples jbb$ cabal install regex-compat
Resolving dependencies...
All the requested packages are already installed:
regex-compat-0.95.1
Use --reinstall if you want to reinstall anyway.
jefferys-mbp:samples jbb$ cabal install regex-compat --reinstall
Resolving dependencies...
In order, the following will be installed:
regex-compat-0.95.1 (reinstall)
Warning: Note that reinstalls are always dangerous. Continuing anyway...
## It warned me that its suggestion is dangerous only AFTER I had acted on its suggestion.
Downloading regex-compat-0.95.1...
Configuring regex-compat-0.95.1...
Building regex-compat-0.95.1...
Installed regex-compat-0.95.1
Updating documentation index /Users/jbb/Library/Haskell/share/doc/index.html
jefferys-mbp:samples jbb$
我不知道是否重新安装了regex-compat,但是threepenny-gui中的样本仍然不适合我。
我在2011年初的MBP上运行OS X Mavericks。在threepenny之前,我尝试安装wxWidgets和GTK,这两个似乎都成功但不允许我运行示例代码。它让我考虑购买另一台电脑并切换到Linux。 (在这台机器上安装Linux也没找到我。)
答案 0 :(得分:2)
使用threepenny-gui
选项安装-fbuildExamples
软件包(编写本文时版本为0.5。*)将使示例可用作可执行文件。例如,可以通过键入
$ threepenny-examples-chat
您也可以直接从samples/
文件夹运行示例,但这对图书馆开发人员来说更方便。您不必使用runhaskell
和ghci
脚本;他们设置了一些路径,但他们还假设您已在源树的根目录中设置了一个cabal沙箱并安装了依赖项。
您自己编写或从某处复制的示例代码应该可以正常运行。
答案 1 :(得分:1)
使用此配方在沙箱中构建它:
cabal sandbox init
cabal install --only-dependencies
cabal install
构建的可执行文件将驻留在.cabal-sandbox / bin
中有关cabal沙箱的更多信息,请访问here
你的问题与依赖的纠缠嵌套有关,而不是OSX。