Có một số kho gói có sẵn.
Chính thức
GNU ELPA là repo gói chính thức. Nó nhỏ và yêu cầu chuyển nhượng bản quyền (của tất cả các tác giả của một gói) cho FSF để đóng góp cho nó.
Các gói trên GNU ELPA thực sự chỉ là một repo git . Ưu điểm của việc được lưu trữ ở đây là nhóm nòng cốt cố gắng cập nhật các gói nếu chính Emacs thêm hoặc không dùng các tính năng.
Được xây dựng từ nguồn
MELPA là repo gói lớn nhất và phát triển nhanh nhất . Nó phát hành một phiên bản mới mỗi khi một phiên bản mới được đẩy lên repo hoặc trang EmacsWiki được cập nhật.
Đó là chảy máu cạnh, nhưng nó hoạt động rất tốt trong thực tế. MELPA được quản lý để tránh các gói trùng lặp và để đảm bảo rằng gói chính thức được ghi lại (thay vì một ngã ba ngẫu nhiên).
MELPA có vấn đề là các phiên bản chỉ là dấu thời gian, vd my-package-20131231.2359
. Điều này có nghĩa là nếu bạn phụ thuộc vào gói của tôi:
;; Package-Requires: ((my-package "1.2.3"))
sau đó Emacs sẽ nghĩ rằng bất kỳ phiên bản nào trên MELPA đều đủ mới.
MELPA Stable giống như MELPA, nhưng thay vì sử dụng các phiên bản dấu thời gian, nó sử dụng các phiên bản trong thẻ git. Điều này cho phép giải quyết phụ thuộc tốt hơn, nhưng có vấn đề tùy thuộc vào các gói wiki .
Người dùng tải lên
Marmalade giống như một kho lưu trữ truyền thống từ các ngôn ngữ lập trình khác. Nhà phát triển gói tải gói lên Marmalade khi họ phát hành.
Về nguyên tắc, điều này mang lại cho các gói một quy trình phát hành phù hợp (Marmalade có trước MELPA ổn định) và cũng tránh được vấn đề về số phiên bản tự phát. Tuy nhiên, không có xác minh danh tính. Bất cứ ai cũng có thể tải lên một gói, ngay cả khi họ không viết nó. Điều này trở nên khó khăn nếu người duy trì my-package
phát hiện ra rằng người khác đã tải lên my-package
và sau đó không thể tải lên các phiên bản mới.
Marmalade từng là một ứng dụng node.js và giờ đây nó được viết bằng elisp. Cả hai phiên bản thỉnh thoảng có vấn đề về thời gian hoạt động.
Dự án cụ thể
ELPA chế độ Org là một repo chỉ lưu trữ org
và org-plus-contrib
. Chế độ Org là một phần của lõi Emacs, nhưng nó được phát triển bên ngoài và mã chỉ được đồng bộ hóa với thân Emacs theo định kỳ. Repo này cho phép bạn có chế độ org cạnh chảy máu.
User42 ELPA là một repo cho một nhà phát triển gói duy nhất đã phát hành khá nhiều gói Emacs . Nếu bạn thích bất kỳ gói nào của anh ấy, bạn có thể thêm repo này.
Sunrise Commander ELPA là một repo cho các phần mở rộng cho Sunrise Commander (gói Emacs để duyệt tệp, lấy cảm hứng từ chỉ huy nửa đêm).
Nghỉ hưu
ELPA của Tromey là repo đầu tiên được thiết lập. Nó chính thức được thay thế bằng GNU ELPA, nhưng nó không có cùng yêu cầu chuyển nhượng bản quyền. Kể từ năm 2010, nó không còn được cập nhật.
Kho lưu trữ gói Elpy chứa các gói khác nhau được phát triển bởi Jorgen Schaefer cho 'Elpy, Môi trường phát triển Python của Emacs' , nhưng đã được chuyển sang MELPA Stable.