วิธีการแสดงรายการแพ็คเกจ Chocolatey ที่ติดตั้งแล้วและเวอร์ชันใหม่กว่าพร้อมใช้งานจากบรรทัดคำสั่ง


108

ฉันมีแพ็คเกจต่อไปนี้ติดตั้งกับ Chocolatey

รายการ choco - อย่างระมัดระวัง

> choco list --localonly    
Chocolatey v0.9.9.2                                      
adobereader 11.0.10                                      
ccleaner 5.03.5128                                       
chocolatey 0.9.9.2                                       
ConEmu 14.9.23.0                                         
gimp 2.8.14.1                                            
git 1.9.5.20150114

หนึ่งสัปดาห์ต่อมาแพ็คเกจ GIMP ที่อัปเดตเป็น 2.9 และแพ็คเกจ Git ได้รับการอัปเดตเป็น 1.9.6 บนเว็บไซต์ chocolatey.org แต่แพ็คเกจอื่น ๆ จะไม่ได้รับการอัปเดต

สองสัปดาห์ต่อมาฉันต้องเรียกใช้คำสั่งเป็น cmd เพื่อแสดงผลลัพธ์ต่อไปนี้:

> some command
git current local version (1.9.5), latest version (1.9.6) is available for upgrade
gimp current local version (2.8), latest version (2.9) is available for upgrade

เป็นวิธีที่ดีในการเขียนคำสั่งดังกล่าวคืออะไร? (หรือถ้ามีตัวเลือกคำสั่งที่สร้างขึ้นใน Chocolatey เองมันจะเป็นอะไร?)

คำตอบ:


119

หมายเหตุ : คุณอาจต้องทำคำสั่งต่อไปนี้ในพรอมต์การดูแลระบบ cmd / powershell

หากคุณติดตั้งรุ่น 0.9.8.33 หรือต่ำกว่า:

choco version all

หากคุณติดตั้ง 0.9.9+ แล้ว:

choco upgrade all --noop

หากคุณมี choco 0.9.9.6+ คุณสามารถใช้outdatedคำสั่ง

choco outdated

หลังจากนั้นถ้าคุณต้องการอัปเกรดทั้งสองเวอร์ชันคุณสามารถติดตามด้วย:

cup all -y

หมายเหตุ: -yจะทำงานกับ 0.9.8.33+ เท่านั้น


1

เพิ่มเติมจาก @feventcoder

choco version all จะส่งผลให้คุณเตือน

DEPRECATION NOTICE - choco versionคำสั่งถูกคัดค้านและจะถูกลบในเวอร์ชัน 1.0.0 กรุณาใช้choco upgrade <pgkname> --noopแทน

ดังนั้นหมายความว่าคุณควรเรียนรู้ว่ามันอาจไม่สนับสนุนversionคำสั่งอีกต่อไป

ตรวจสอบให้แน่ใจว่าคุณต้องอัพเกรดรุ่น chocolatey ของคุณเป็น 0.9.9+ หรือล่าสุด

ตามคำสั่ง choco upgrade chocolatey

จากนั้นโทรcup all -yเพื่อติดตั้งการอัปเกรดทั้งหมดเป็นระบบของคุณ


-1

ใช้ "cver"

วิธีที่เร็วที่สุดหากคุณต้องการค้นหาเฉพาะแพคเกจในเครื่องที่ติดตั้งคือการออกคำสั่งต่อไปนี้ใน DOS prompt:

cver all -localonly

หรือจำได้ง่ายขึ้นและพิมพ์:

cver all -lo

วิธีนี้จะช่วยหลีกเลี่ยงการสอบถามที่ไม่จำเป็น


1
คำถามคือการแยกแพคเกจที่ล้าสมัยจากแพ็คเกจล่าสุด ด้วย cver all -localonly คำสั่งนี้เราจะได้รับแพ็กเกจที่ล้าสมัยและแพ็กเกจล่าสุดที่ผสมกันและไม่บรรลุวัตถุประสงค์ในการค้นหาแพ็กเกจที่ล้าสมัย คำตอบนี้ควรมีคำถามว่า "จะแสดงแพ็คเกจท้องถิ่นได้อย่างไร" แต่ไม่ใช่คำถามนี้
Joel Handwell

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