อัปเดตแพคเกจโดยอัตโนมัติและลบเวอร์ชันเก่า


12

ฉันเป็นคนบังคับเล็กน้อยเกี่ยวกับการอัปเดตแพ็คเกจสำหรับทุกระบบของฉันดังนั้นฉันจึงพบว่าตัวเองกำลังทำงานlist-packages-> U-> x-> y-> yค่อนข้างมากทุกวันเพื่ออัปเดตแพ็คเกจของฉันและลบเวอร์ชันเก่าเมื่อการอัปเดตเสร็จสมบูรณ์ ฉันจะทำให้กระบวนการนี้เป็นแบบอัตโนมัติได้อย่างน้อยที่สุดฉันจึงต้องเรียกใช้ฟังก์ชันเดียวเท่านั้นเพื่ออัปเดตรวบรวมและลบแพ็คเกจของฉัน หรือมีเหตุผลบางอย่างที่ฉันอาจไม่ต้องการทำเช่นนั้น?

คำตอบ:


17

ต่อไปนี้เป็นส่วนหนึ่งของแพ็คเกจ Paradox paradox-upgrade-packagesวิงวอนขอเพียงแค่


สิ่งนี้ควรทำ

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

เพียงตรวจสอบว่าฟังก์ชันใดถูกเรียกใช้โดยแต่ละขั้นตอนที่คุณระบุ โดยปกติแล้ว(y or n)พรอมต์จะเป็นปัญหา แต่package-menu-executeรับNO-QUERYอาร์กิวเมนต์อย่างสะดวก


No operations specifiedหากทุกแพคเกจจะถึงวันก็จะกลับ
ChillarAnand

3

คุณสามารถอัตโนมัตินี้กับถัง สิ่งนี้ใช้ได้กับการพัฒนาบรรจุภัณฑ์ แต่ยังรวมถึงการกำหนดค่าของผู้ใช้ เอกสารให้รายละเอียดสำหรับการตั้งค่านี้

นอกจากนี้Palletยังมีประโยชน์ในการรักษาไฟล์ Cask ของคุณให้ทันสมัยด้วยการเปลี่ยนแปลงที่คุณทำในบัฟเฟอร์ * Packages *


+1 Cask + Pallet ยอดเยี่ยม (แต่ฉันไม่แนะนำให้ใช้กับ Windows)
rsenna

อืมนั่นเป็นปัญหาเพราะฉันใช้ Windows เป็นส่วนใหญ่
Ryan

@rsenna ขอบคุณสำหรับข้อมูล ฉันไม่ได้ใช้ระบบ Windows ดังนั้นฉันจึงไม่ทราบว่าระบบดังกล่าวไม่ได้เล่นอย่างสวยงาม
Kyle Meyer

ในความเป็นจริงคุณสามารถใช้ Cask + Pallet บน Windows ได้ด้วยงานบางอย่าง ฉันก็สามารถบรรลุว่าด้วยการใช้ Cygwin แต่ผมจำได้ว่ามันเป็นห่างไกลจากเรื่องง่าย ...
rsenna

Cask จะทำงานได้ดีใน Windows เมื่อคุณติดตั้ง Python ฉันไม่แน่ใจเกี่ยวกับ Pallet เนื่องจากฉันยังไม่ได้ทดสอบ แต่จากการดู repo มันไม่ควรขึ้นอยู่กับอะไรอื่นนอกจาก Cask + Emacs
Jonathan Leech-Pepin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.