package.el
không có hỗ trợ tốt cho trường hợp sử dụng này. Bạn phải chạy lại package-install-from-buffer
mỗi lần bạn thực hiện cập nhật cho gói M-x find-function
và bạn bè sẽ không chuyển sang mã nguồn, mà thay vào đó là bản sao package.el
đưa vào ~/.emacs.d/elpa
. Do đó, tôi khuyên bạn không nên sử dụng package.el
cho trường hợp sử dụng này (hoặc hoàn toàn không có, vì nó có một số vấn đề khác).
Thay vào đó, bạn có thể thử trình quản lý gói của tôi straight.el
, được thiết kế rõ ràng cho trường hợp sử dụng này. Với straight.el
, không có thủ tục "cài đặt cục bộ". Bạn chỉ cần đặt kho lưu trữ của mình vào ~/.emacs.d/straight/repos/<my-package-repo>
, sau đó tải gói trong tệp init của bạn:
(straight-use-package '(<my-package> :local-repo "<my-package-repo>"))
Bất cứ khi nào bạn thực hiện thay đổi mã nguồn, việc tạo tự động tải và biên dịch byte sẽ được làm lại (một khi bạn khởi động lại Emacs). Ngoài ra, bạn đang chạy trực tiếp từ kho Git, M-x find-function
và bạn bè sẽ làm việc như mong đợi.
Cuối cùng, phiên bản địa phương và thượng nguồn hoàn toàn có thể thay thế cho nhau. straight.el
cho phép bạn thực hiện bất kỳ thay đổi cục bộ nào bạn muốn và chúng được coi là thiêng liêng như thay đổi ngược dòng (mặc dù straight.el
cho phép bạn tự động [và tương tác] hoàn nguyên kho lưu trữ của bạn thành phiên bản ngược dòng của chúng, nếu bạn muốn). Do đó, không có bất kỳ lo ngại nào khi thực hiện bất kỳ thay đổi nào đối với cấu hình của bạn nếu bạn muốn thực hiện phát triển cục bộ: chỉ cần thực hiện phát triển cục bộ. Và nếu bạn có một gói riêng mà bạn xuất bản, thì đó là chuyện nhỏ: chỉ cần đẩy gói đó đi đâu đó (và có thể cập nhật công thức trong tệp init của bạn để trỏ đến kho Git đó, để straight.el
có thể sao chép lại từ một máy khác).
Không giống như package.el
, không có sự khác biệt trong việc xử lý các gói đa tệp và một tệp.
Để biết tài liệu dài dòng về straight.el
, bao gồm so sánh với các trình quản lý gói khác, hãy xem README .
-pkg.el
Tập tin tùy chọn là thú vị. Các giá trị mặc định trong trường hợp đó là gì?