2013-06-09 22 views
38

Tôi đã thử đầu cabal có hỗ trợ cho các hộp cát tương tự như cabal-dev. Tuy nhiên, chưa có hỗ trợ cho số tương đương cabal-dev ghciapparently no support planned cho bản phát hành tiếp theo.Làm cách nào tôi có thể sử dụng GHCi với cabal 1.17 hộp cát mới?

Có một số câu thần chú tôi có thể sử dụng để giải quyết vấn đề này và nhận được một cái gì đó tương tự như cabal-dev ghci không?

+2

Thật không may, hiện tại không có sự tương tự dễ sử dụng với 'cabal-dev ghci'. Duncan có kế hoạch hợp nhất các bản vá lỗi GSoC 2011 của Sam Anklesaria thực hiện 'cabal repl' tại một thời điểm nào đó (anh ta đã sáp nhập một số công việc chuẩn bị), nhưng ATM không ở trong HEAD. Khi 'cabal repl' được triển khai, các sandbox cũng sẽ hỗ trợ nó. –

+0

Cảm ơn thông tin! Tôi cũng sẽ chấp nhận các giải pháp khó sử dụng. – jberryman

Trả lời

38

chỉnh sửa (tháng 8 năm 2013):cabal repl các bản vá gần đây đã được hợp nhất. Chức năng này sẽ là một phần của bản phát hành tiếp theo.


Theo văn bản này, không có sự tương tự dễ sử dụng với cabal-dev ghci. Chúng tôi dự định thêm một lệnh cabal repl trong tương lai - tuy nhiên, tại thời điểm này chức năng này không có trong Cabal HEAD.

Trong khi đó, bạn có thể thử các cách giải quyết như sau:

$ cd $YOUR_PACKAGE_DIR 

# For GHC >= 7.6 
$ ghci -no-user-package-db -package-db .cabal-sandbox/i386-linux-ghc-7.6.1-packages.conf.d 

# For GHC < 7.6 
$ ghci -no-user-package-conf -package-conf .cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d 

này sẽ không làm cho các mô-đun của gói của bạn có sẵn ngay từ ghci - bạn sẽ phải tải chúng với :l hoặc import (mà có thể phá vỡ sự hiện diện của preprocessor tùy chỉnh và CPP).

+7

Lưu ý rằng 'cabal repl' có sẵn bắt đầu bằng phiên bản cab 1.18: http://coldwa.st/e/blog/2013-08-21-Cabal-1-18.html Điều đó có nghĩa là khi bạn có phiên bản cabal> = 1.18 bạn có thể chỉ cần gõ 'cabal repl' trong thư mục dự án của bạn và sandbox sẽ được sử dụng nếu avaialable. –

+0

Ngoài ra, chỉ cần một đầu lên rằng i386-linux ... là cụ thể cho hệ điều hành của bạn và phiên bản ghc - Tôi có một phiên bản ghc khác nhau và hệ điều hành vì vậy tôi đã phải nhập một tiền tố khác nhau cho tập tin conf.d của tôi. Điều này có thể hiển nhiên đối với mọi người, nhưng tôi là người mới đối với Haskell. –

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