Tôi đang cố gắng để tải lên gói đầu tiên của tôi để Hackage (yay!), Và tôi đã nhận lỗi này:Haskell: Kiểm tra một gói chống lại nhiều phiên bản của cơ sở cho Hackage
The dependency 'build-depends: base' does not specify an upper bound on the version number. Each major release of the 'base' package changes the API in various ways and most packages will need some changes to compile with it. The recommended practise is to specify an upper bound on the version of the 'base' package. This ensures your package will continue to build when a new major version of the 'base' package is released. If you are not sure what upper bound to use then use the next major version. For example if you have tested your package with 'base' version 2 and 3 then use 'build-depends: base >= 2 && < 4'.
Mà có vẻ như một cách hoàn hảo có thể chấp nhận lý do từ chối gói của tôi.
Có một công cụ tốt để kiểm tra gói của tôi đối với các phiên bản khác nhau của base
để tôi có thể xem giới hạn đó là gì (thay vì chỉ đoán)? Điều tốt nhất tôi có thể nghĩ đến là sử dụng một số kịch bản shell để làm một cái gì đó như:
% for v in $BASE_VERSIONS
do
cabal install base-$v &&\
cabal configure --enable-tests &&\
cabal build &&\
cabal test && echo "$v ok" || echo "$v fail"
done
Nhưng tôi cảm thấy như không nên có một cái gì đó tốt hơn.