包管理器
包管理器可以统一管理软件的安装、卸载、更新、环境变量,它类似于 Linux 上的 apt 或 pacman。windows下的包管理器有choco、scoop、winget。
一、Scoop包管理器安装
由于choco是商业软件,一些功能需要收费,而winget软件包较少,总的来说,推荐使用开源的scoop。
前提条件
PowerShell 版本在 5.1 或以上,如果没有 PowerShell 大于 5.1 版本,可以下载安装 PowerShell。运行以下命令查看版本:
$PSVersionTable.PSVersion.Major # should be >= 5.1
其次,允许本地运行 PowerShell 脚本,以管理员打开 PowerShell,运行以下命令,回答 Y:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
安装 Scoop 和 scoop-cn
此方法会把安装 Scoop 过程中的地址都换成中国可快速访问的地址,并设置好 Scoop,添加本仓库。打开 PowerShell,输入以下命令下载安装:
irm https://gh-proxy.com/https://raw.githubusercontent.com/duzyn/scoop-cn/master/install.ps1 | iex
# 如果安装出错,删除scoop安装目录,重新安装
添加国内app仓库:
scoop bucket add apps https://github.com/kkzzhizhou/scoop-apps
常用命令
- 安装软件:
scoop install <软件名>
scoop install scoop-cn/<软件名> - 更新软件:
scoop update <软件名> - 更新所有软件:
scoop update * - 卸载软件:
scoop uninstall <软件名> - 搜索软件:
若搜索太慢,可以直接访问 scoop.sh 搜索。
scoop search <关键词> - 查看已安装软件:
scoop list
二、使用scoop
-
安装 Git:
scoop install scoop-cn/git -
安装 VScode:
scoop install scoop-cn/vscode -
优化PowerShell:
scoop install scoop-cn/starship
# 安装语法检测,5.1和7.0版本需要分别安装
Install-Module syntax-highlighting
# 使用code打开
# 5.1版本
code $HOME/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1
# 7.0版本
code $HOME/Documents/PowerShell/Microsoft.PowerShell_profile.ps1弃用oh-my-posh,改用starship:
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\probua.minimal.omp.json | Invoke-Expression
# Microsoft.PowerShell_profile.ps1
Invoke-Expression (&starship init powershell)
Set-PSReadLineOption -HistorySearchCursorMovesToEnd
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
Import-Module syntax-highlighting
- 优化Windows菜单:
scoop install scoop-cn/nilesoft-shell
# 自定义菜单栏
code $HOME\scoop\apps\nilesoft-shell\current\shell.nss
# 在文档末尾写入,为右键添加一个选项
item(title='Open with WSL' image='C:\Users\Fu\Pictures\ubuntu.png' cmd-line='/K ubuntu -c zsh ') - 安装常用工具:
scoop install scoop-cn/clash-verge-rev
scoop install scoop-cn/zotero
scoop install scoop-cn/everything - 安装 C++套装:
# llvm方案,clangd已存在,需要安装cmake和Ninja。
scoop install scoop-cn/cmake
scoop install scoop-cn/Ninja
scoop install scoop-cn/mingw-mstorsjo-llvm-ucrt
# winlibs方案,cmake和NInja已存在,无需重复安装
scoop install scoop-cn/clangd
scoop install scoop-cn/mingw-winlibs-llvm-ucrt
第三方仓库
Scoop 支持添加第三方仓库以扩展软件库:
- 添加仓库:
scoop bucket add <仓库名> - 常用仓库:
extras:常用软件versions:软件旧版本nirsoft:NirSoft 工具
相关问题
fatal: detected dubious ownership in repository,当修改计算机名称时会出现错误,重新添加bucket即可:# 删除对应的bucket并重新添加
scoop bucket rm nerd-fonts
scoop bucket add nerd-fonts
三、可视化界面
使用UniGetUI可视化管理软件包,可以同时管理winget、scoop、choco、pip等包管理器:
scoop install scoop-cn/wingetui
winget 换源(尽量不用winget):
winget source remove winget
winget source add winget https://mirrors.ustc.edu.cn/winget-source --trust-level trusted