2012-04-07 5 views
11

Trên ubuntu tôi hiện đã cài đặt nền tảng haskell 2011.2.0.1.2 và tôi hiện đang làm việc trên một số mã mà sẽ rất hay khi có Control.Concurrent.Chan là phiên bản Eq. Thật không may, trong base-4.3.1.0, là cài đặt mà tôi đã cài đặt, không phải vậy, nhưng trong base-4.4.0.0Chan là phiên bản Eq.Làm cách nào để cập nhật cơ sở an toàn?

Có thể cập nhật cơ sở, có thể bằng cách hộp cát bằng cabal-dev hoặc bất kỳ phương pháp nào khác, theo cách không phá vỡ quá nhiều gói?

Trả lời

16

Không, bạn không bao giờ nên nâng cấp base. Đây là một trong số boot packages - các gói mà chính GHC cần xây dựng và tàu cùng với - và nâng cấp chúng sẽ dẫn đến những điều Rất tệ ™. (Đây là một full list of boot packages; tất cả mọi thứ với một - trong cột tag là một trong Không nâng cấp này.!)

Thật vậy, cabal cài đặt cabal upgrade tính năng của đã được gỡ bỏ một cách chính xác bởi vì nó đã có một xu hướng khó chịu để nâng cấp gói khởi động.

Không chỉ là gói khởi động, mà còn là chức năng cốt lõi như vậy, nó vốn đã gắn liền với phiên bản GHC cụ thể. Lựa chọn tốt nhất của bạn là cài đặt phiên bản GHC mới hơn tương ứng trong một thư mục cục bộ.