2011-11-17 36 views
5

Tôi đang cố gắng thiết lập Haskell từ đầu, trên Ubuntu 11.04, mà không sử dụng bản phát hành Debian lỗi thời hoặc Haskell-Platform.Làm thế nào để bạn cài đặt gói/thư viện mà không có Cabal hoặc Cabal-Install?

Tôi đã cài đặt GHC-7.0.4 từ nguồn không có vấn đề và hiện cần cài đặt Cabal (có vẻ đã được đưa vào GHC trong /usr/local/lib/ghc-7.0.4/Cabal-1.10.2.0) và Cabal Install.

Sau đó quy định cụ thể một vài phụ thuộc (parsecnetwork), mỗi trong số đó có một số phụ thuộc của riêng mình (mtl, text, vv).

Lệnh để cài đặt các gói này là gì, tôi đã bị tấn công từ dạng tar.gz? Giải nén, sau đó runhaskell không hoạt động. Tôi thấy Setup.lhs, nhưng nó không rõ ràng đó là gì hoặc làm thế nào để sử dụng nó.

Hầu hết tài liệu Haskell tôi đã tìm thấy giả định bạn đã cài đặt từ repo hoặc Haskell-Package và không thực sự giải thích rõ điều này.

Cảm ơn!

Trả lời

11

cabal-install có tập lệnh shell thực hiện việc này. Nếu bạn download it from hackage và cài đặt nó, bạn có thể bắt đầu bootstrap.sh để cài đặt cabal-install. Sau đó bạn có thể sử dụng nó để cài đặt các gói khác.

+1

Cảm ơn, tôi đã nhận thức được điều đó nhưng dường như từ RWH rằng bạn cần phân tích cú pháp và mạng được cài đặt trước tiên (http://book.realworldhaskell.org/read/installing-ghc-and-haskell-libraries.html) và từ tài liệu HTTP được cài đặt trước tiên trước khi bạn có thể chạy bootstrap.sh. Tôi thấy bây giờ bootstrap.sh làm tất cả những gì cho bạn. Đó là những gì tôi nhận được để làm điều này lúc 3 giờ sáng. – Kurtosis

5

Có hai gói khác nhau: Cabalcabal-install. Cabal là một thư viện và cài đặt cabal là một tệp thực thi có tên là cabal.

Để cài đặt gói, cabal-install là trình bao bọc tiện lợi tùy chọn quanh Cabal, nhưng phải có Cabal.

Theo http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries, Cabal là gói 'không khởi động', vì vậy khi bạn xây dựng GHC, Cabal và các phụ thuộc của nó được xây dựng cho bạn một cách tự động.

Bạn có thể sử dụng ghc-pkg thực thi để kiểm tra những gói đã được cài đặt:

# ghc-pkg list 

Kiểm tra nếu Cabal có trong danh sách sau khi bạn xây dựng GHC. Nếu có, bạn có thể cài đặt thêm gói mà không cabal cài đặt sử dụng tài liệu này:

http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

Tôi đề nghị bạn cài đặt cabal-install đầu tiên, và sau đó cài đặt mọi thứ khác sử dụng cabal-install thực thi. Một commandine thông thường để cài đặt toàn cầu là thế này:

# runhaskell Setup configure 
# runhaskell Setup build 
# sudo runhaskell Setup install 

Giải nén một tarball gói và chạy các lệnh trong thư mục với Setup.hs hoặc Setup.lhs tập tin. Lưu ý rằng cài đặt không phải root cho mỗi người dùng cũng được hỗ trợ - Sử dụng runhaskell Setup configure --user

Khi bạn cài đặt cabal thực thi và phụ thuộc theo cách này, hãy sử dụng cabal install {package-name} để cài đặt thêm gói.

Lưu ý rằng nền tảng Haskell tồn tại chủ yếu là do sự đau đớn khi tự cài đặt cabal-install.

+0

Cảm ơn, tôi thấy tôi đã sử dụng thiết lập runhaskell không chính xác.Không bắn vào tất cả các xi lanh lúc 3 giờ sáng. Nhiều đánh giá cao! – Kurtosis

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