Tự động cập nhật các gói và xóa các phiên bản cũ


12

Tôi hơi bị ép buộc về việc cập nhật các gói cho tất cả các hệ thống của mình, vì vậy tôi thấy mình đang chạy list-packages-> U-> x-> y-> ykhá nhiều hàng ngày để cập nhật các gói của mình và xóa các phiên bản cũ sau khi cập nhật hoàn tất. Làm cách nào tôi có thể tự động hóa quá trình này để ít nhất tôi chỉ phải chạy một chức năng để cập nhật, biên dịch và xóa các gói của mình? Hoặc có một số lý do tôi có thể không muốn làm điều đó?

Câu trả lời:


17

Sau đây là một phần của gói Paradox. Chỉ cần gọi paradox-upgrade-packages.


Điều này nên làm điều đó.

(defun endless/upgrade ()
  "Upgrade all packages, no questions asked."
  (interactive)
  (save-window-excursion
    (list-packages)
    (package-menu-mark-upgrades)
    (package-menu-execute 'no-query)))

Chỉ cần kiểm tra chức năng nào được gọi theo từng bước bạn liệt kê và ném chúng vào trong một chức năng tương tác. Thông thường, các (y or n)lời nhắc sẽ là một vấn đề, nhưng package-menu-executethuận tiện có một NO-QUERYđối số.


Nếu tất cả các gói được cập nhật, nó sẽ trở lại No operations specified.
ChillarAnand

3

Bạn có thể tự động hóa điều này với Cask . Điều này hoạt động để phát triển gói, nhưng cũng cho cấu hình người dùng. Các tài liệu cung cấp chi tiết để thiết lập này.

Ngoài ra, Pallet rất hữu ích để giữ cho tệp Cask của bạn được cập nhật với các thay đổi bạn thực hiện trong bộ đệm * Gói *.


+1 Cask + Pallet rất tuyệt (nhưng tôi không khuyên bạn nên sử dụng chúng trên Windows).
rsenna

Hmm, đó là một vấn đề, bởi vì tôi hầu như ở trên Windows.
Ryan

@rsenna Cảm ơn thông tin. Tôi không chạy bất kỳ hệ thống Windows nào, vì vậy tôi không biết chúng không chơi tốt.
Kyle Meyer

Trong thực tế, bạn có thể sử dụng Cask + Pallet trên Windows, với một số công việc. Tôi đã có thể đạt được điều đó bằng cách sử dụng Cygwin, nhưng tôi nhớ nó không
hề

Cask sẽ hoạt động tốt trong Windows khi bạn cài đặt Python. Tôi không chắc chắn về Pallet vì tôi chưa thử nghiệm. Nhưng từ việc nhìn vào repo, nó không nên phụ thuộc vào bất cứ thứ gì ngoài Cask + Emacs.
Jonathan Leech-Pepin

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.