介绍
scoop 官⽅: scoop.sh/源码: github.com/lukesampson…,这 个是Windows下的包管理⼯具,不单包括开发环境,还包括很多开源的⼯具。
安装
安装条件
- Powershell版本3以上,查看Powershell版本的⽅法
$PSVersionTable.PSVersion.Major
.NET Framework 4.5 以上,查看.NET Framework 版本的⽅法
$PSVersionTable.CLRVersion.Major
Powershell 下直接安装
默认安装
set-executionpolicy remotesigned -scope currentuser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
指定⽬录安装
[environment]::setEnvironmentVariable('SCOOP','D:\Users\Admin\Scoop',' User')
$env:SCOOP='D:\Users\Admin\Scoop'
set-executionpolicy remotesigned -scope currentuser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
设置代理(可选)
- 设置
scoop config proxy 127.0.0.1:46781
- 取消
scoop config proxy none1
安装必须包
scoop install git
scoop install 7zip
scoop 常用命令
scoop checkup // 检查潜在问题
scoop install xxx //安装软件
scoop uninstall xxx //卸载软件
scoop search xxx //查询库里面是否有这个软件
scoop update xxx //更新软件
scoop info xxx //查看软件信息
scoop bucket add|list|known|rm [<args>]
scoop bucket add xxx //添加仓库
scoop list // 查看已安装应用
scoop bucket list //查看已安装仓库
scoop bucket known // 查询官方仓库
scoop cache rm <app> // 移除某个app的缓存
scoop hold <app>// 禁止某程序更新
scoop unhold <app> //允许某程序更新
利用aria2加速下载
安装aria2后,scoop会自动调用aria2进行多线程下载以加速下载:
scoop install aria2
第三方仓库
常⻅问题
- 错误:未能创建 SSL/TLS 安全通道
在Powershell执⾏:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-
⽆法完成下载,请设置代理,⻅上⾯ “设置代理” ⼀节
-
bucket 更新时遇到问题
情况是这样:当我运行 scoop update 进行更新时提示: extras bucket 更新失败。于是我将其删除后再添加,提示成功,但是它却把 main bucket (默认的 bucket) 给删除了。通过"scoop status"检查状态时出现 “These app manifests have been removed"并且下面列出了已被移除的软件名单。 那么如何解决此问题?
我们需要重新添加 main bucket :
scoop bucket add main #添加 main bucket
- 网络问题导致app安装失败
示例:
ERROR Download failed! (Error 1) An unknown error occurred
ERROR https://mediaarea.net/download/binary/mediainfo/19.09/MediaInfo_CLI_19.09_Windows_x64.zip
referer=https://mediaarea.net/download/binary/mediainfo/19.09/
dir=D:\Scoop\Applications\cache
out=mediainfo#19.09#https_mediaarea.net_download_binary_mediainfo_19.09_MediaInfo_CLI_19.09_Windows_x64.zip
ERROR & 'D:\Scoop\Applications\apps\aria2\current\aria2c.exe' --input-file='D:\Scoop\Applications\cache\mediainfo.txt'
我们可以发现文件的下载路径和下载后的文件名称,这里 referer= 后面的压缩包就是下载后 文件的名称,(也可以在 scoop 的 cache 目录下的 mediainfo.txt 文件中找到下载路径与文 件名称)
然后我们可以尝试在浏览器或其他下载程序中(可以 fq 的程序中)下载该程序,下载完成 后再更改文件名并将其放入 scoop 的 cache 目录,最后再次运行scoop install 应用名称即可安装。 5. 如何利用 aria2 进行断点续传?
示例:
# 更新 vscode
scoop update vscode-portable
scoop 更新 vscode 时下载到 80%的时候 失败了(安装时处理方法也一样)。我们需要在提示中找到如下内容:
'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
- 安装和切换JDK、Python的版本
命令格式为:
scoop reset <java>[@<version>]