Scoop包管理工具介绍
作者:互联网
Scoop 包管理工具介绍
Windows下常用的包管理工具有
- WinGet
- Chocolatey
- Scoop
其中WinGet需要在Microsoft Store安装,Chocolatey权限较为混乱,而Scoop需要的权限更少,对系统产生的副作用也更少。
Scoop的安装与配置
要求:
- PowerShell >= 5.0 (如果是 Window10 则默认满足此条件)
- 已允许PowerShell执行本地脚本,可以使用下面的命令开启:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
默认安装路径:
用户级别安装的程序和Scoop本身默认安装于 C:\Users\<user>\scoop
全局安装的程序(所有用户可用,使用--global或 -g 选项)位
于C:\ProgramData\scoop
路径中。
可以通过更改对应的环境变量更改这些路径 。
将 Scoop 安装到自定义目录 :
打开PowerShell配置以下环境变量:
- 用户环境变量SCOOP,用于更改Scoop及普通程序安装位置
$env:SCOOP='D:\Applications\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
- 系统环境变量,用于某些需要管理员权限的程序(可以不改)
$env:SCOOP_GLOBAL='D:\Applications\ScoopGlobal'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
- 系统环境变量,用于更改下载缓存位置(可以不改)
$env:SCOOP_CACHE='D:\Applications\ScoopCache'
[Environment]::SetEnvironmentVariable('SCOOP_CACHE', $env:SCOOP_CACHE, 'Machine')
配置完成后可以开始下载安装(注意不可使用管理员权限的PowerShell):
iwr -useb get.scoop.sh | iex
首次安装完成后建议通过scoop checkup
检测当前安装是否有问题。
$ scoop checkup
可以看到以下信息:
ERROR 'Inno Setup Unpacker' is not installed! It's required for unpacking InnoSetup files. Please run 'scoop install innounp'.
ERROR 'dark' is not installed! It's required for unpacking installers created with the WiX Toolset. Please run 'scoop install dark' or 'scoop install wixtoolset'.
WARN Found 2 potential problems.
按照提示解决即可。
初次安装 Scoop 后,建议安装以下程序:
scoop install sudo
sudo scoop install 7zip git --global
scoop install curl grep sed less touch
安装完git后,为避免以后出现证书问题或者本地文件夹安全提醒,建议运行以下两条命令对git进行配置(第一条非必须):
git config --global http.sslVerify false
git config --global --add safe.directory "*"
Scoop 的设计与实现理念:
- 分离用户数据:默认将程序的
用户数据
存储到persist
目录中,这样当用户日后升级该程序后之前的用户配置依然可用。(但是对于部分程序支持的不是很完善) shim
软链接: scoop 会自动在 scoop 应用安装路径下的shims
文件夹下为新安装的程序添加对应的.exe
文件,而shims
文件夹提前就已被添加到 PATH 环境变量中,所以程序一旦安装就可以直接在命令行中运行。- 对于 GUI 程序 ,scoop 还会自动为其在开始菜单中添加快捷方式 ,路径:
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps
Scoop 常用命令
scoop help #查看帮助
scoop help <某个命令> # 具体查看某个命令的帮助
scoop install <app> # 安装 APP
scoop uinstall <app> # 卸载 APP
scoop list # 列出已安装的 APP
scoop search # 搜索 APP
scoop status # 检查哪些软件有更新
scoop update # 更新 Scoop 自身
scoop update appName1 appName2 # 更新某些app
scoop update * # 更新所有 app (前提是需要在apps目录下操作)
scoop bucket known #通过此命令列出已知所有 bucket(软件源)
scoop bucket add bucketName #添加某个 bucket
scoop cache rm <app> # 移除某个app的缓存
安装卸载软件
# 安装之前,通过 search 搜索 APP, 确定软件名称
scoop search xxx
# 安装 APP(注意软件使用安全,谨防违规)
scoop install AppName
# 安装特定版本的 APP;语法 AppName@[version],示例
scoop install git@2.23.0.windows.1
# 卸载 APP
scoop uninstall #卸载 APP
更新软件
scoop update # 更新 Scoop 自身
scoop update appName1 appName2 # 更新某些app
# 更新所有 app (可能需要在apps目录下操作)
scoop update *
# 禁止某程序更新
scoop hold <app>
# 允许某程序更新
scoop unhold <app>
清除缓存与旧版本
# 查看所有以下载的缓存信息
scoop cache show
# 清除指定程序的下载缓存
scoop cache rm <app>
# 清除所有缓存
scoop cache rm *
# 删除某软件的旧版本
scoop cleanup <app>
# 删除全局安装的某软件的旧版本
scoop cleanup <app> -g
# 删除过期的下载缓存
scoop cleanup <app> -k
创建别名
# 可用操作
scoop alias add|list|rm [<args>]
## 添加别名,格式:
scoop alias add <name> <command> <description>
# 示例:(注意:必须在 Powershell中运行)
scoop alias add st 'scoop status' '检查更新'
# 检查已添加的别名
scoop alias list -v
Name Command Summary
---- ------- -------
st scoop status 检查更新
# 测试已添加的别名 st
scoop st
# 另一个示例:
scoop alias add rm 'scoop uninstall $args[0]' '卸载某 app'
在同一程序的不同版本之间切换
scoop reset [app]@[version]
其它命令
# 显示某个app的信息
scoop info <app>
# 在浏览器中打开某app的主页
scoop home <app>
# 比如
scoop home git
添加软件源 Bucket
Scoop 可安装的软件信息存储在 Bucket(翻译为:桶)中,也可以称其为软件源。Scoop 默认的 Bucket 为 main
;官方维护的另一个 Bucket 为 extras
,我们需要手动添加。
# bucket的用法
scoop bucket add|list|known|rm [<args>]
添加 extras :
scoop bucket add extras
同样可以添加可信的第三方Bucket:
scoop bucket add dorado https://github.com/chawyehsu/dorado
# 或者使用国内镜像,速度快但是非实时同步
scoop bucket add dorado https://gitee.com/chawyehsu/dorado
并且明确指定安装此 bucket (软件源)中的的程序:
scoop install dorado/<app_name>
# 下面是dorado中特有的软件,测试其是否添加成功
scoop search trash
推荐的 Bucket(软件源):
extras
:Scoop 官方维护的一个仓库,涵盖了大部分因为种种原因不能被收录进主仓库的常用软件。(比如Windows Terminal就在这个Bucket内)dorado
:(添加了一些国内的app)java
:添加后可以通过它安装各种 jdk 、 jrenerd-fonts
:包含各种字体
如何利用 aria2 进行断点续传?
首先安装aria2:
scoop install aria2
以vscode为例:
# 更新 vscode
scoop update vscode-portable
假设更新 vscode 时下载到一半失败了(安装时处理方法也一样)。我们需要在提示中找到如下内容:
'D:\Scoop\Applications\apps\aria2\current\aria2c.exe' --input-file='D:\Scoop\Applications\cache\vscode-portable.txt'
--user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/5.1 (Windows NT 10.0; Win64; x64; Desktop)'
--allow-overwrite=true --auto-file-renaming=false
--retry-wait=2 --split=5 --max-connection-per-server=5
--min-split-size=5M --console-log-level=warn --enable-color=false
--no-conf=true --follow-metalink=true --metalink-preferred-protocol=https
--min-tls-version=TLSv1.2 --stop-with-process=15584 --continue
我们从上面的信息中提取出下面的命令;若要进行断点续传,只需再次执行下面的命令即可:
aria2c.exe --input-file='D:\Scoop\Applications\cache\vscode-portable.txt'
当提示下载完成后,我们需要再次运行 scoop 对应的 app 更新命令(或安装命令),即可完成 app 更新(或安装):
scoop update vscode-portable
标签:scoop,--,app,管理工具,介绍,Scoop,install,安装 来源: https://www.cnblogs.com/ZhuangJiayu/p/16326167.html