2013-12-08 16 views
20

Tôi gặp rất nhiều vấn đề với cabal-install:
1: Mỗi lần tôi làm cabal update, nó nói với tôi để làm cabal install cabal-install, vì vậy tôi làm, và sau đó khi tôi làm cabal update một lần nữa, nó nói giống nhau Điều.Haskell cabal cài đặt lỗi

2: Khi tôi cố gắng để cài đặt ghc-mod từ hackage, nó mang lại cho tôi lỗi này:

[[email protected] ~]$ cabal install ghc-mod 
In order, the following will be installed: 
haskell-src-exts-1.14.0 (reinstall) changes: pretty-1.1.1.1 -> 1.1.1.0 
hlint-1.8.55 (reinstall) 
ghc-mod-3.1.4 
setup: The program happy version >=1.17 is required but it could not be found. 
ghc-mod-3.1.4 depends on haskell-src-exts-1.14.0 which failed to install. 
haskell-src-exts-1.14.0 failed during the configure step. 
hlint-1.8.55 depends on haskell-src-exts-1.14.0 which failed to install. 

Vì vậy, vấn đề là The program happy version >=1.17 is required but it could not be found., vì vậy tôi cài đặt happy 1.19.2 sử dụng cabal install happy không có vấn đề.

Tôi đã thử lại cabal install ghc-mod, cùng một lỗi, vì vậy tôi đã thử cabal install haskell-src-exts --reinstall --force-reinstalls. Nó đã cho tôi lỗi sau:

[username[email protected] ~]$ cabal install haskell-src-exts --reinstall --force-reinstalls 
Configuring haskell-src-exts-1.14.0... 
setup: The program happy version >=1.17 is required but it could not be found. 
Failed to install haskell-src-exts-1.14.0 
cabal: Error: some packages failed to install: 
haskell-src-exts-1.14.0 failed during the configure step. The exception was: 
ExitFailure 1 

Về cơ bản The program happy version >=1.17 is required but it could not be found.. Vì vậy, hạnh phúc là vấn đề một lần nữa?

Tôi cũng đã cố gắng tải về các tập tin tar.gz từ hackage và sử dụng cabal install vào file .cabal, cũng sửa đổi .cabal tập tin để bỏ qua phụ thuộc, vẫn thất bại.

Trả lời

28

cabal install thực thi địa điểm trong ~/.cabal/bin.

Nếu bạn thêm nó vào đường dẫn của bạn, bạn sẽ có thể sử dụng thực thi mới được cài đặt bởi cabal:

$ PATH=$HOME/.cabal/bin:$PATH 
+1

Tuyệt vời. Tôi chỉ gặp phải hai điều thực sự kỳ lạ, vì vậy tôi viết ở đây trong trường hợp nó sẽ giúp một ai đó. Đầu tiên: Tôi đã có '$ HOME/.cabal/bin' trong $ PATH của tôi, và… nó không hoạt động! Điều đó chỉ bắt đầu hoạt động sau khi tôi thay thế '$ HOME' bằng' ~ '- thực sự buồn cười, bởi vì tôi đã sử dụng biến lo sợ rằng dấu ngã sẽ không hoạt động. Điều thứ hai: ngay cả sau khi hệ thống nhìn thấy con đường, và * hạnh phúc * - * cabal * vẫn không! Chỉ sau khi tôi thực hiện lệnh từ câu trả lời này, nó bắt đầu hoạt động. Tôi đoán là * cabal * không hiểu dấu ngã ... –

+1

Vì vậy, tôi đoán vấn đề là như thế này: * cabal * muốn một con đường đầy đủ. Vì vậy, sau khi tôi thêm vào '/ etc/environment' trong $ PATH the': $ HOME/.cabal/bin' * (hoặc biến thể có dấu ngã) *, * cabal * trong cả hai trường hợp đều nghĩ rằng * dấu ngã * hoặc * $ HOME * là một phần của đường dẫn * (đó là đường dẫn hợp lệ) *. Để làm cho nó hoạt động, người ta phải viết vào '/ etc/environment' đường dẫn đầy đủ cho đến thư mục với các tệp nhị phân. –

21

tôi gặp phải với cùng một vấn đề và tôi giải quyết vấn đề với việc cài đặt happy gói (khó hiểu tên gói). Vì vậy, cài đặt nó với trình quản lý gói của bạn (apt-get, pacman etc) trước khi cài đặt gói với cabal. Điều này sẽ khắc phục được sự cố.

+2

Điều này làm việc mà không có thêm bất kỳ vấn đề nào. Cảm ơn! –

+1

Khi cài đặt sạch từ nguồn GHC/cabal (không có Nền tảng Haskell), cài đặt lỗi không xác định 'ThoátFailure 1' này. –

+3

Tôi có thể sửa lỗi này bằng cách cài đặt cabal happy'. – connorbode

Các vấn đề liên quan