今天为大家推荐一款Windows平台开发管理神器–Scoop ! 她是一款Windows平台的包管理工具,类似于Debin系列的APT,RPM系列的YUM。有了Scoop妈妈再也不用担心重装系统了!
安装要求
Windows7 SP1+ / Windows Server 2008+
PowerShell 5(或更高版本,包括 PowerShell Core)和 .NET Framework 4.5(或更高版本)
Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)
正常、快速的访问 GitHub 并下载资源
如果PowerShell版本低于5则需要升级PowerShell,查看命令如下:
1 $psversiontable .psversion.major
安装
Scoop 默认使用普通用户权限,其本体和安装的软件默认会放在 %USERPROFILE%\scoop(即 C:\Users\用户名\scoop),使用管理员权限进行全局安装 (-g) 的软件在 C:\ProgramData\scoop。如果有自定安装路径的需求,那么要提前设置好环境变量。
设置安装路径
1 2 3 4 5 6 7 $env:SCOOP ='D:\common-tools\scoop' [Environment ]::SetEnvironmentVariable('SCOOP' , $env:SCOOP , 'User' ) [Environment ]::SetEnvironmentVariable('SCOOP_GLOBAL' , $env:SCOOP_GLOBAL , 'Machine' )
设置PowerShell脚本执行权限
1 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
安装 Scoop
1 2 3 4 5 iwr -useb get.scoop.sh | iex iwr -useb get.glimmer.ltd | iex iwr -useb https://raw.githubusercontent.com/ScoopInstaller/Scoop/master/bin/install.ps1 | %{$_ .Content.replace("github.com" ,"ghproxy.com/https://github.com" ).replace("raw.githubusercontent.com" ,"ghproxy.com/https://raw.githubusercontent.com" )} | iex
添加源
修改repo,默认是github上的repo,改为国内gitee上的,速度快很多。同时可以添加第三方源,如果是公司内部的可能统一维护一份源,能保证所有人使用的是同一开发库。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 scoop config SCOOP_REPO https://gitee.com/scoop-bucket/scoop scoop bucket rm main scoop bucket add main https://gitee.com/scoop-bucket/main.git scoop bucket add extras https://gitee.com/scoop-bucket/extras.git scoop bucket add dorado https://gitee.com/scoop-bucket/dorado.git scoop bucket add nerd-fonts https://gitee.com/scoop-bucket/nerd-fonts.git scoop bucket add backit https://gitee.com/scoop-bucket/backit.git scoop update
安装软件
安装软件之前要说明一点,很多软件是从github上下载的,而国内访问github并不稳定,所以可使用镜像代理下载github上的仓库和包。具体如下:
找到scoop/lib/manifest.ps1中的 Get-Content $path -Raw -Encoding UTF8 | ConvertFrom-Json -ErrorAction Stop
替换为:$(Get-Content $path -raw -Encoding UTF8).replace("github.com","ghproxy.com/https://github.com").replace("raw.githubusercontent.com","ghproxy.com/https://raw.githubusercontent.com") | ConvertFrom-Json -ErrorAction Stop
scoop可使用aria2加速下载,配置完之后下载如飞,具体配置如下:
1 2 3 4 5 6 7 8 9 10 # 安装aria2 scoop install aria2 # aria2 在 Scoop 中默认开启 scoop config aria2-enabled true # 关于以下参数的作用,详见aria2的相关资料 scoop config aria2-retry-wait 4 scoop config aria2-split 16 scoop config aria2-max-connection-per-server 16 scoop config aria2-min-split-size 4M
命令
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 scoop help #查看帮助 scoop help <某个命令> # 具体查看某个命令的帮助 scoop install [appname] # 安装 APP scoop uinstall [appname] # 卸载 APP scoop list # 列出已安装的 APP scoop bucket list #列出已订阅的仓库 scoop search # 搜索 APP scoop status # 检查哪些软件有更新 scoop bucket known #通过此命令列出已知所有 bucket(软件源) scoop bucket add bucketName #添加某个 bucket scoop cache rm [appname] # 移除某个app的缓存
安装卸载软件
1 2 3 4 5 6 7 8 # 安装之前,通过 search 搜索 APP, 确定软件名称 scoop search xxx # 安装 APP scoop install AppName # 安装特定版本的 APP;语法 AppName@[version],示例 scoop install git@2.23.0.windows.1 # 卸载 APP scoop uninstall #卸载 APP
更新软件
1 2 3 4 5 6 7 8 9 10 11 scoop update # 更新 Scoop 自身 scoop update appName1 appName2 # 更新某些app # 更新所有 app (可能需要在apps目录下操作) scoop update * # 禁止某程序更新 scoop hold <app> # 允许某程序更新 scoop unhold <app>
清除缓存与旧版本
1 2 3 4 5 6 7 8 9 10 11 12 # 查看所有以下载的缓存信息 scoop cache show # 清除指定程序的下载缓存 scoop cache rm <app> # 清除所有缓存 scoop cache rm * # 删除某软件的旧版本 scoop cleanup <app> # 删除全局安装的某软件的旧版本 scoop cleanup <app> -g # 删除过期的下载缓存 scoop cleanup <app> -k
别名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 可用操作 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'
在同一程序的不同版本之间切换
1 2 3 4 5 6 7 scoop reset [app]@[version] # 如 scoop reset idea-ultimate-eap@201.6668.13 scoop reset idea-ultimate-eap@201.6073.9 # 切换到最新版本 scoop reset idea-ultimate-eap
其它命令
1 2 3 4 5 6 7 8 # 显示某个app的信息 scoop info <app> # 在浏览器中打开某app的主页 scoop home <app> # 比如 scoop home git