ฉันจะอัปเดตแพ็คเกจ Chocolatey ทั้งหมดได้อย่างไรยกเว้นหนึ่งรายการ


28

cup all -yใช้สำหรับอัปเดแพ็คเกจChocolateyทั้งหมดเมื่อบู๊ต ในขณะนี้มีปัญหาใน VirtualBox เวอร์ชันล่าสุดและฉันต้องการหลีกเลี่ยงว่าแพ็คเกจนี้ได้รับการอัปเดตเมื่อทำการบู๊ตในขณะที่แพคเกจอื่นต้องได้รับการอัพเดต

พยายามแก้ไขปัญหา

ฉันได้ตรวจสอบฟังก์ชั่นความช่วยเหลือของคำสั่ง:

C:\>cup all -h
Chocolatey v0.9.9.8
Upgrade Command

Upgrades a package or a list of packages. Some may prefer to use `cup`
 as a shortcut for `choco upgrade`.

Usage

    choco upgrade <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
    cup <pkg|all> [<pkg2> <pkgN>] [<options/switches>]

NOTE: `all` is a special package keyword that will allow you to upgrade
 all currently installed packages.

Examples

    choco upgrade chocolatey
    choco upgrade notepadplusplus googlechrome atom 7zip
    choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
    choco upgrade git --params="/GitAndUnixToolsOnPath /NoAutoCrlf" -y
    choco upgrade nodejs.install --version 0.10.35
    choco upgrade git -s "https://somewhere/out/there"
    choco upgrade git -s "https://somewhere/protected" -u user -p pass

Options and Switches

NOTE: Options and switches apply to all items passed, so if you are
 installing multiple packages, and you use `--version=1.0.0`, it is
 going to look for and try to install version 1.0.0 of every package
 passed. So please split out multiple package calls when wanting to
 pass specific options.


 -?, --help, -h
     Prints out the help menu.

 -d, --debug
     Debug - Run in Debug Mode.

 -v, --verbose
     Verbose - See verbose messaging.

     --acceptlicense, --accept-license
     AcceptLicense - Accept license dialogs automatically.

 -y, --yes, --confirm
     Confirm all prompts - Chooses affirmative answer instead of prompting.
       Implies --accept-license

 -f, --force
     Force - force the behavior

     --noop, --whatif, --what-if
     NoOp - Don't actually do anything.

 -r, --limitoutput, --limit-output
     LimitOutput - Limit the output to essential information

     --execution-timeout=VALUE
     CommandExecutionTimeoutSeconds - Override the default execution timeout
       in the configuration of 2700 seconds.

 -c, --cache, --cachelocation, --cache-location=VALUE
     CacheLocation - Location for download cache, defaults to %TEMP% or value
       in chocolatey.config file.

     --allowunofficial, --allow-unofficial, --allowunofficialbuild, --allow-unofficial-build
     AllowUnofficialBuild - When not using the official build you must set
       this flag for choco to continue.

 -s, --source=VALUE
     Source - The source to find the package(s) to install. Special sources
       include: ruby, webpi, cygwin, windowsfeatures, and python. Defaults to
       default feeds.

     --version=VALUE
     Version - A specific version to install. Defaults to unspecified.

     --pre, --prerelease
     Prerelease - Include Prereleases? Defaults to false.

     --x86, --forcex86
     ForceX86 - Force x86 (32bit) installation on 64 bit systems. Defaults to
       false.

     --ia, --installargs, --installarguments, --install-arguments=VALUE
     InstallArguments - Install Arguments to pass to the native installer in
       the package. Defaults to unspecified.

 -o, --override, --overrideargs, --overridearguments, --override-arguments
     OverrideArguments - Should install arguments be used exclusively without
       appending to current package passed arguments? Defaults to false.

     --notsilent, --not-silent
     NotSilent - Do not install this silently. Defaults to false.

     --params, --parameters, --pkgparameters, --packageparameters, --package-parameters=VALUE
     PackageParameters - Parameters to pass to the package. Defaults to
       unspecified.

 -m, --sxs, --sidebyside, --side-by-side, --allowmultiple, --allow-multiple, --allowmultipleversions, --allow-multiple-versions
     AllowMultipleVersions - Should multiple versions of a package be
       installed? Defaults to false.

 -i, --ignoredependencies, --ignore-dependencies
     IgnoreDependencies - Ignore dependencies when upgrading package(s).
       Defaults to false.

 -n, --skippowershell, --skip-powershell
     Skip Powershell - Do not run chocolateyInstall.ps1. Defaults to false.

     --failonunfound, --fail-on-unfound
     Fail On Unfound Packages - If a package is not found in feeds specified,
       fail instead of warn.

     --failonnotinstalled, --fail-on-not-installed
     Fail On Non-installed Packages - If a package is not already intalled,
       fail instead of installing.

 -u, --user=VALUE
     User - used with authenticated feeds. Defaults to empty.

 -p, --password=VALUE
     Password - the user's password to the source. Defaults to empty.

แต่ดูเหมือนจะไม่มีฟังก์ชั่นที่จะยกเว้นแพ็คเกจที่แน่นอน

ฉันจะอัพเดตแพ็กเกจทั้งหมดเมื่อบูตยกเว้นหนึ่งแพ็กเกจได้อย่างไร?

คำตอบ:


33

คุณมีสองตัวเลือก: pin choco upgradeแพคเกจล่วงหน้าหรือไม่รวมรายการในช่วง

ตรึงแพ็คเกจเพื่อระงับการอัปเกรด

คุณสามารถปักหมุดโปรแกรมใด ๆ ที่คุณไม่ต้องการให้อัปเดต

พิมพ์choco pin -hรายละเอียดเพิ่มเติม หากคำสั่งนั้นไม่ให้อะไรกับคุณโปรดอัพเกรด Chocolatey เป็นอย่างน้อย 0.9.9.x

คำสั่ง Pin

ตรึงแพ็คเกจเพื่อระงับการอัปเกรด

สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อทำงานchoco upgradeกับแพ็คเกจทั้งหมดเนื่องจากจะข้ามแพ็คเกจเหล่านั้นโดยอัตโนมัติ choco upgrade --except="pkg1,pk2"ทางเลือกหนึ่งคือ

การใช้

choco pin [list]|add|remove [<options/switches>]

ตัวอย่าง

choco pin
choco pin list
choco pin add -n=git
choco pin add -n=git --version 1.2.3
C4B: choco pin add -n=git --version 1.2.3 --reason "'others may need to review'"
choco pin remove --name git

หมายเหตุ : --reasonตัวเลือกมีให้เฉพาะใน Chocolatey for Business (C4B)

ไม่รวมแพ็คเกจขณะอัปเกรด

บางครั้งคุณเพียงต้องการแยกรายการที่ปกติคุณจะรวมไว้ในการอัพเกรด คุณไม่ต้องการพินเพราะสิ่งเหล่านี้มีความหมายว่าจะใช้งานได้นานกว่าการเรียกใช้คำสั่งเดียว นี่คือที่Excludeมาของคำสั่งการอัพเกรดของคุณ

ตั้งแต่ Chocolatey v0.9.10 เมื่อเรียกการอัปเกรดคุณสามารถผ่านทางเลือก--exceptเป็นสวิตช์สำหรับอัปเกรด choco upgrade all --except="'conemu'"ตัวอย่างจะเป็น


ทำไมchoco pin? ถูกcup allเลิก?
030

9
ทำไมถ้วยทั้งหมดจึงถูกคัดค้าน? Pin เป็นคำสั่งที่ระบุว่า "อยู่ในเวอร์ชันนี้สำหรับแพ็คเกจนี้"
ferventcoder

หมายเหตุ: ในการเพิ่มเหตุผลให้กับหมุดคุณต้องมี Chocolatey for Business (C4B)
ferventcoder

2

ตามเอกสารอย่างเป็นทางการ :

choco upgrade all --except="'skype,conemu'"

บน windows จะเป็นการป้องกันไม่ให้แพ็คเกจอัปเกรดอีกต่อไปแม้ว่าคุณจะไม่ได้ใช้ยกเว้น! C:\ProgramData\chocolatey\lib-badโฟลเดอร์แพคเกจถูกย้ายไปยัง หากคุณต้องการอัพเกรดอีกครั้งให้ย้ายไปที่C:\ProgramData\chocolatey\lib
Alireza Fattahi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.