2010-06-23 28 views
28

Tôi đã cài đặt gói như vậy bằng cách sử dụng cabal và tôi có thể xây dựng một chương trình phụ thuộc vào nó bằng cách sử dụng cabal build. Nhưng khi tôi tải cùng một chương trình trong ghci, ghci phàn nàn rằng nó "Không thể tìm thấy mô-đun" như vậy-và-như vậy "".Làm cách nào để ghci xem các gói tôi đã cài đặt từ cabal?

Tôi ngạc nhiên rằng điều này không "chỉ hoạt động". Làm thế nào để tôi nói với ghci nơi để tìm các gói tôi đã cài đặt với cabal?

Đây là thiết lập của tôi: Tôi đang sử dụng GHC 6.10.4 trên Mac OS X 10.6.3, cài đặt cabal phiên bản 0.6.2 bằng phiên bản 1.6.0.3 của thư viện Cabal.

Trả lời

22

Bạn cần

ghci -package such-and-such 

Và để kiểm tra lại rằng such-and-such là thực sự có thể nhìn thấy GHC, chạy ghc-pkg list | grep such-and-such.

+1

Tôi thích câu trả lời này vì tôi không muốn làm lộn xộn lên không gian tên gói chung với các gói tiếp xúc. Vòng thưởng: * Trong * ghci, làm cách nào để tự động thêm gói? –

+0

': set -package haskell-src-meta' hoạt động. Tôi nghĩ bạn có thể đặt bất kỳ cờ 'ghci' /' ghc' nào bằng ': set'. Giống như ': set -XTemplateHaskell'. –

14

ghc-pkg list trên dòng lệnh sẽ cho bạn biết gói cài đặt của bạn là gì. Gói đã cài đặt có thể bị ẩn, trong trường hợp này bạn có thể tiết lộ nó với ghc-pkg expose {pkg-id}.

+0

Đây là những gì mà kết quả đầu ra: bash-3.2 $ danh sách GHC-pkg lrucache /opt/local/lib/ghc-6.10.4/./package.conf: /Users/dominic/.ghc/x86_64 -darwin-6.10.4/package.conf: lrucache-1.0 Làm cách nào để chuyển từ đó sang gói * *? Và sau đó tôi sử dụng 'ghci -i'? –

+0

Có! 'ghc-pkg đăng ký như vậy và như vậy' thực sự là ma thuật cần thiết. Cảm ơn! –

+0

Bạn có thể muốn thay đổi các prefs cabal của bạn để làm đăng ký toàn cầu. Thay đổi ~/.cabal/config để nói 'user-install: False'. – sclv

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