Mối quan tâm về việc gỡ cài đặt gói


7

Để gỡ cài đặt gói từ Emacs tôi đọc rằng tôi phải xóa thư mục cụ thể khỏi thư mục elpa. Vì tệp .emacs đang được tự viết khi tôi cài đặt gói, điều đó có nghĩa là nó cũng sẽ tự xóa khi tôi gỡ cài đặt gói hoặc tôi phải tự xóa các mục cụ thể? Ngoài ra tôi đã cài đặt một gói tự động hoàn thành và trong thư mục elpa tôi tìm thấy một thư mục có tên popup-20141002.320. Tại sao thư mục đó lại ở đó? Gói có thể cài đặt các gói khác? Nếu vậy thì khi tôi gỡ cài đặt gói đầu tiên tôi phải gỡ cài đặt gói mà nó tự cài đặt?


Cài đặt các gói thông qua package-install không nên thay đổi tập tin init của bạn. Và có, người quản lý gói sẽ cài đặt các phụ thuộc cho các gói bạn cài đặt. Vì vậy, popuplà một phụ thuộc cho auto-complete.
nispio

Câu trả lời:


10

Khi bạn gỡ cài đặt một gói, nó sẽ bị xóa cho bạn. Đây thực sự là toàn bộ hoạt động gỡ cài đặt (xem package-deletechức năng). Việc xóa cũng có thể được thực hiện thủ công bằng cách xóa nó khỏi thư mục cài đặt (mặc định là .emacs.d/elpa/cho các gói do người dùng cài đặt). Việc xóa thủ công này không có bất kỳ tác dụng phụ bất lợi nào trên hệ thống quản lý gói, điều này giúp đơn giản hóa việc khôi phục nếu có sự cố xảy ra.

Các gói có thể phụ thuộc vào các gói khác để hoạt động đúng. Các phụ thuộc này được cài đặt tự động khi bạn cài đặt gói thông qua trình quản lý gói tích hợp ( package.el). Nếu bạn đang sử dụng M-x package-list-packagesđể xem các gói có sẵn, thì bạn có thể xem gói nào sẽ được cài đặt (nếu chúng không có mặt) bằng cách nhấn REThoặc nhấp vào tên gói.

Gỡ cài đặt một gói thông qua giao diện không loại bỏ các phụ thuộc. Thông tin này không được ghi nhận ăs như tôi có thể nói. Bạn có thể tự mình xem bằng cách đọc qua package-menu-executevà các package-deletechức năng hoặc bằng cách cài đặt gói có phụ thuộc mà bạn chưa cài đặt, sau đó xóa gói chính và quan sát trạng thái của phụ thuộc.

Cập nhật Vì emacs 25.1, có một lệnh package-autoremovexóa các gói không còn cần thiết bởi vì chúng chỉ được cài đặt như là một phụ thuộc của gói bị xóa. Nếu bạn xóa một gói đã cài đặt khỏi danh sách gói, thì emacs sẽ bật lên một đề xuất để chạy lệnh này khi thích hợp.


1
Ngoài ra, tôi sẽ không xóa các gói phụ thuộc vì nhiều gói có thể phụ thuộc vào chúng, không chỉ gói bạn đang cố xóa.
Kaushal Modi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.