2015-02-15 18 views
5

Tôi có một máy không có quyền truy cập internet.
Tôi đã cài đặt Nền tảng Haskell lên nó bằng trình cài đặt mà tôi nhận được từ một máy khác thông qua một ổ đĩa.Cài đặt gói Haskell bằng cách sử dụng cabal mà không cần kết nối internet

Bây giờ tôi muốn cài đặt gói repa trên máy tính gia đình không có truy cập internet. Tôi nên làm như thế nào?

máy nhà của tôi đang chạy Linux (Debian) và máy văn phòng của tôi là Windows 7.

Trả lời

8

Từ một máy bạn có thể truy cập internet, bạn có thể:

  • Run cabal get pkg-name nơi pkg-name là gói mà bạn muốn.
  • Truy cập trang của gói trên Hackage và trên phần Tải xuống có tệp .tar.gz bạn có thể tải xuống.

Sau khi bạn nhận được, hãy chuyển nó đến máy khác của bạn, giải nén nó ở bất cứ đâu bạn muốn (hộp cát nếu bạn muốn nó chỉ trong hộp cát). Sau đó, từ thư mục đó (nơi có tệp .cabal) chạy cabal install.

+1

Có cách nào nhanh chóng để tìm phụ thuộc của gói và tải xuống gói đó hay không hoặc phải thực hiện thủ công? – DNA

+1

@ DNA Không phải là tôi biết, nhưng viết một công cụ cho điều đó nên rất dễ dàng vì Cabal cũng là trên Hackage. Bạn có thể nhận được gói (tuy nhiên bạn muốn, ví dụ: bạn có thể gọi 'cabal get' bằng cách sử dụng' System.Process'), sau đó chỉ cần sử dụng gói Cabal để phân tích cú pháp tệp cabal, và sau đó chỉ đệ quy làm tương tự cho các gói phụ thuộc. – MasterMastic

1

nhà quản lý trọn gói, chẳng hạn như cabal, làm việc trong nội bộ để có được một gói từ một kho lưu trữ từ xa. Tôi nghi ngờ có tồn tại một cách giải quyết dễ dàng để làm cho cabal cài đặt một gói trong chế độ offline.

Có lẽ cách dễ nhất là tìm phiên bản gói nén, tìm cách để đưa chúng lên máy tính ngoại tuyến (chia sẻ cục bộ, ổ USB, v.v.) và install a package manually.

+1

Không có khó khăn khủng khiếp trong việc đưa Cabal cài đặt gói ngoại tuyến miễn là gói và tất cả các gói phụ thuộc của nó đều có sẵn cục bộ. – dfeuer

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