簡體   English   中英

用cabal安裝threepenny-gui:我做錯了什么?

[英]Installing threepenny-gui with cabal: what did I do wrong?

我嘗試安裝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$

我用谷歌搜索了這個錯誤,發現只有一個頁面 ,我沒有看到如何使用。

我想也許問題是我打破了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也沒找到我。)

使用-fbuildExamples選項安裝threepenny-gui軟件包(在編寫本文時為0.5。*)將使示例可用作可執行文件。 例如,可以通過鍵入來運行聊天示例

$ threepenny-examples-chat

您也可以直接從samples/文件夾中運行示例,但這對庫開發人員來說更方便。 您不必使用runhaskellghci腳本; 他們設置了一些路徑,但他們還假設您已在源樹的根目錄中設置了一個cabal沙箱並安裝了依賴項。

您自己編寫或從某處復制的示例代碼應該運行得非常好。

使用此配方在沙箱中構建它:

cabal sandbox init
cabal install --only-dependencies
cabal install

構建的可執行文件將駐留在.cabal-sandbox / bin中

有關cabal沙箱的更多信息,請點擊此處

你的問題與依賴的糾纏嵌套有關,而不是OSX。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM