2013-10-29 15 views
6

tôi nhập khẩu QuickCheck ở đầu tập tin của tôi:không thể tìm thấy mô-đun 'Test.QuickCheck' trên Ubuntu

import Test.QuickCheck 
... 

Biên dịch tập tin với ghc Lab1.hs mang lại cho tôi lỗi này:

Lab1.hs:1:8: 
    Could not find module `Test.QuickCheck' 
    Use -v to see a list of the files searched for. 
Failed, modules loaded: none. 

Tôi đã thử một tìm kiếm apt-cache cho quickcheck và nhận được một danh sách khủng khiếp của các gói. Đã thử cài đặt libghc-test-framework-dev chỉ vì tôi nghĩ tên có vẻ phù hợp nhưng lỗi vẫn tồn tại.

Làm cách nào để cài đặt mô-đun QuickCheck?

+1

sơ đồ đặt tên Biết Debian, tôi sẽ đoán 'libghc-QuickCheck- dev', nhưng tôi không có một chiếc máy tiện dụng để kiểm tra. –

+1

Biết lược đồ RPC theo định hướng con người của Debian (trang web), tôi đã tìm thấy ['libghc-quickcheck2-dev'] (http://packages.debian.org/wheezy/libghc-quickcheck2-dev), nhưng tôi không có một máy như vậy tiện dụng để cài đặt. –

Trả lời

15

Nếu bạn quan tâm đến việc quản lý gói Haskell bên ngoài trình quản lý gói (có thể có lợi nếu bạn quan tâm đến việc sử dụng các phiên bản mới nhất) thì Cabal là trình quản lý gói Haskell cho phép bạn thực hiện

apt-get install cabal-install 
cabal update 
cabal install QuickCheck 

để đặt QuickCheck có sẵn trên toàn cầu.

Bạn nên sử dụng tính năng sandbox của Cabal. Điều này rất giống với của Python virtualenv hoặc của Ruby bundle nếu bạn quen thuộc hơn với chúng. Để làm điều này, bạn phải tạo một "cabalized" Dự án

cabal init  # in an empty directory 

và sau đó đặt QuickCheck (và phụ thuộc thư viện khác của bạn) vào trong khe build-depends: của tạo <folder name>.cabal tập tin.

Sau khi bạn đã thực hiện việc này, bạn sử dụng Cabal cho tất cả các lệnh quản lý và biên dịch gói khác.

cabal sandbox init     # creates your local package sandbox 
cabal install --only-dependencies # gets and installs all the build-dependencies 

cabal repl       # starts up GHCi in the local sandbox 
cabal build       # configures and builds the local project 

cabal sandbox delete    # cleans up the sandbox 
+0

Tôi đã làm: 'sudo apt-get cài đặt cabal-install' và' cabal update' và sau đó có thể tiến hành 'cabal install QuickCheck' như trên. Điều sandbox không phù hợp trong trường hợp của tôi nhưng nó có thể có ích hơn nữa. Cảm ơn! – Arild

+1

Tuyệt, tôi rất vui vì nó hoạt động tốt! Tôi sẽ thêm các bước đó vào câu trả lời cho khách truy cập trong tương lai nếu bạn không phiền. –

1

Trong Ubuntu 14.04.1:

sudo apt-get install libghc-quickcheck2-dev 

Trước:

> :m +Test.QuickCheck 

<no location info>: 
    Could not find module `Test.QuickCheck' 
    It is not a module in the current program, or in any known package. 

Sau:

Prelude> :m +Test.QuickCheck 
Prelude Test.QuickCheck> 
+0

Thao tác này không hoạt động ... – alinsoar

+0

Đã thử lại lần nữa trên hình ảnh ubuntu: 14.04 docker với 'docker run -i -t --rm ubuntu: 14.04', và nó vẫn hoạt động. Bạn không chắc chắn cách định dạng mã trong nhận xét, nhưng các bước là: 'apt-get update; apt-get cài đặt libghc-quickcheck2-dev; ghci' theo sau bởi ': m + Test.QuickCheck' –

+0

Tôi đã cài đặt và sử dụng tính năng kiểm tra nhanh bằng cabal. Ban đầu, chỉ sử dụng apt-get nó là không thể. Dù sao, nó hoạt động ngay bây giờ cho tôi. – alinsoar

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