chocolatey & winget & scoop
Chocolatey
1
2
3
4
5
6
7
|
> Get-ExecutionPolicy
Restricted
> Set-ExecutionPolicy AllSigned
OR
> Set-ExecutionPolicy Bypass -Scope Process
> $PSVersionTable.PSVersion
> host
|
1
|
> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
1
2
3
|
> choco --version
> $env:ChocolateyInstall
> choco upgrade chocolatey
|
1
2
3
4
|
> choco feature -?
> choco feature list
> choco feature enable -n allowGlobalConfirmation # 避免每次回答 Y
> choco feature enable -name=exitOnRebootDetected # 不执行重启检测
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 软件原生安装目录
C:\Program Files
C:\Program Files (x86)
C:\Users\<username>\AppData
# Chocolatey 安装目录
C:\ProgramData\chocolatey
# 通过环境变量设置软件安装目录
[environment]::setEnvironmentVariable('ChocolateyInstall','C:\ProgramData\chocolatey','Machine')
[environment]::setEnvironmentVariable('ChocolateyToolsLocation','D:\Choco','Machine')
# 非管理员安装默认路径是 C:\ProgramData\chocoportable
$env:path += ";C:\ProgramData\chocoportable"
$InstallDir='C:\ProgramData\chocoportable'
$env:ChocolateyInstall="$InstallDir"
|
1
|
> choco outdated --proxy=localhost:1080
|
1
2
3
4
5
6
7
8
9
10
|
> choco -?
> choco search <package name>
> choco info <package name>
> choco install <package name>
> choco uninstall <package name>
> refreshenv
> choco upgrade <package name>
> choco upgrade all
|
1
2
|
> choco list -l > chocolatey.txt
> choco install -y software1 software2 ...
|
1
2
|
> choco source add -n=MyCustomSource -s=https://example.com/packages/
> choco source remove -n=MyCustomSource
|
Chocolatey GUI
1
2
|
> choco install chocolateygui
> chocolateygui
|
WinGet
1
2
3
4
5
6
7
8
9
10
11
|
> winget settiings
settings.json
"experimentalFeatures": {
"uninstall": true,
"upgrade": true,
"list": true,
"experimentalMSStore": true
},
"visual": {
"progressBar": "accent" #accent,retro,rainbow
},
|
1
2
3
4
|
> winget -?
> winget show <package name>
> winget search <package name>
> winget install <package name>
|
Scoop
1
|
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
Modify Installation Location
1
2
3
4
|
> $env:SCOOP='D:\Applications\Scoop'
> $env:SCOOP_GLOBAL='F:\GlobalScoopApps'
> [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
> [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
|
Setting PowerShell Execution Policies and Downloading Installation Scripts
1
2
3
|
> irm get.scoop.sh -outfile 'install.ps1'
> .\install.ps1 -RunAsAdmin [-OtherParameters ...]
> iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
|
1
2
3
4
5
6
7
8
9
|
> scoop help
> scoop search git
> scoop install git
> scoop update git
> scoop status git
> scoop uninstall git
> scoop info git
> scoop home git
> scoop hold/unhold git
|
1
|
> scoop uninstall scoop
|
Setting up a proxy
1
|
> scoop config proxy 127.0.0.1:7890
|
Multi-threaded downloads
1
2
|
> scoop config aria2-enabled true
> scoop config aria2-options --check-certificate=false
|
Links
Chocolatey
Chocolatey-gui
Scoop
Winget
Winget-cli
Winget-Docs