특정 패키지를 업그레이드하고 싶지만 설치되어 있지 않은 경우에만 업그레이드하고 싶습니다. 모든 PC의 최신 상태를 유지하는 업데이트 스크립트를 실행합니다. cup all
그리고 choco upgrade all
바로이 목적을 위해 잘 작동하지만, f.lux처럼, 사용자 APPDATA에서 로컬 설치 응용 프로그램을 처리하지 않습니다. 따라서 다른 사용자를 순회하고 사용자 공간 설치를 수행하는 앱을 설치하려면 다음과 같이하십시오.
$orgUserProfile=$Env:USERPROFILE
$orgLocalAppData=$Env:LOCALAPPDATA
$Env:USERPROFILE="C:\users\Alex"
$Env:LOCALAPPDATA="${Env:USERPROFILE}\AppData\Local"
# Installed to c:\Users\Alex\AppData\Local\SourceTree
choco upgrade sourcetree
choco upgrade f.lux
$Env:USERPROFILE="C:\users\Lisa"
$Env:LOCALAPPDATA="${Env:USERPROFILE}\AppData\Local"
# I'm not sure updates will work for lisa, not sure I want to force it, it seems choco is not multi-user
choco upgrade f.lux
$Env:USERPROFILE=$orgUserProfile
$Env:LOCALAPPDATA=$orgLocalAppData
cup all
그러나 일부 PC에는 f.lux가 이미 설치된 소스 트리가 없으며 업그레이드 스크립트로 설치하지 않으려 고합니다.
Chocolatey가 이미 설치된 경우 업그레이드하는 간단한 방법이 있습니까? 따라서 목록을 수동으로 파싱 할 필요가 없습니다.
추신:
답변
현재는 존재하지 않지만 https://github.com/chocolatey/choco/issues/1646을 따르십시오 . 계획된 버전으로 릴리스 된 경우 v0.10.12에 포함됩니다.