簡體   English   中英

cabal install bnfc缺少目錄

[英]cabal install bnfc missing directory

我是Haskell的新手,試圖為編譯器構造類編寫程序。

我在ubuntu 13.10上安裝了haskell-platform軟件包,然后(在安裝haskell平台后不弄亂任何東西)嘗試運行以下命令:

$ sudo cabal install bnfc

結果是:

Resolving dependencies...
Configuring BNFC-2.6.0.3...
cabal: The following installed packages are broken because other packages they
depend on are missing. These broken packages must be rebuilt before they can
be used.
package process-1.1.0.2 is broken due to missing package
directory-1.2.0.1-508733a890139bbedb8aa76468431462
Failed to install BNFC-2.6.0.3
cabal: Error: some packages failed to install:
BNFC-2.6.0.3 failed during the configure step. The exception was:
ExitFailure 1

當我嘗試安裝軟件包目錄時,它說軟件包已經安裝。 有人可以幫忙嗎?

我還使用帶有haskell平台軟件包的Ubuntu 13.10,並為我安裝了bnfc。

您可以檢查幾件事。

  1. 不要將sudo與cabal安裝一起使用(默認情況下,cabal將軟件包安裝在您自己的主目錄中,使用sudo可能會導致錯誤的文件所有權,或者試圖將文件放入/ root甚至覆蓋/ usr東西,從而造成麻煩)

  2. 重命名〜/ .cabal /和〜/ .ghc /,並通過運行“ cabal update”來重建它們(移動后,您可能需要從移動位置重新添加〜/ .cabal / bin / cabal)。 這些保留已安裝的軟件包及其信息。...由於您安裝了新的原始軟件包,因此盡管其中的元信息可能已損壞,但它們基本上應該為空。 (如果由於某種原因使情況變得更糟,則可以始終還原原始目錄。...如果解決了該問題,則可以刪除原始的.cabal和.ghc)

  3. 您可以通過以下操作獲取有關為何未安裝軟件包的更多信息

    cabal unpack bnfc#這將下載並解壓縮源代碼cd BNFC-2.6.0.3#輸入新創建的源目錄cabal configure#這將檢查是否滿足所有系統依賴性cabal build#這將構建軟件包cabal install#這將安裝軟件包在〜/ .cabal /中

(如果不滿足依賴項,則可能必須迭代到另一個程序包)

我認為2.可能會解決您的問題,因為顯示的錯誤消息暗示生成過程着迷於查找目錄包的非常特定的版本,而不是最新的版本。 這一次發生在我身上,清理.cabal為我解決了這個問題。

暫無
暫無

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

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