Scoop包管理器最新安装使用
首先参照另一篇Scoop的使用文档:win10使用Scoop软件包管理器,支持版本切换
安装
## 先设置PowerShell执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
## 下载安装程序
irm get.scoop.sh -outfile 'install.ps1'
## 查看安装程序的所有可配置参数
.\install.ps1 -?
## 手动执行安装并设置参数,设置参数也可以后期通过命令或者编辑配置文件进行设置
.\install.ps1 -ScoopDir 'D:\Repositorys\Scoop' -ScoopGlobalDir 'D:\Repositorys\Scoop\globalApps' -ScoopCacheDir 'D:\Repositorys\Scoop\cache' -NoProxy
## 或者可以通过WingetUI安装
使用
由于scoop
大部分包及bucket
和自身都在github
上,github
基本等于打不开,下载文件更是无望,折腾了几天装不上一个包,所以这里主要说下解决方案。
手动下载文件
通过要安装软件对应的json
配置文件中获得软件下载地址,手动将文件下载下来;然后通过scoop
执行下安装该软件的命令,看到cache
目录中生成了要下载的临时文件,复制其文件名(不包含最后的.download
后缀),然后将下载的文件重命名为该名称,拷贝到cache
目录,然后再重新执行安装,这时发现使用了自己下载的文件,跳过了下载过程。
这里需要注意的是文件的后缀名,在重命名文件名的时候最好显示文件后缀,免得手动加上后缀了,比如.zip
文件,隐藏后缀后看不到.zip
后缀,重命名时很容易自己加上.zip
,这样就变成了.zip.zip
,反而导致文件名不对了。
亲测,不管bucket
是在github
上还是kgithub
(已挂)上,都会出现add bucket
巨慢,或者多次add失败,索性直接在gitee
上clone
了scoop
库及常用的bucket
库
#所以配置scoop默认源
scoop config repo https://gitee.com/fuscoop/Scoop
scoop update
#或者可以通过编辑%PROGRAMFILES%\.config\scoop\config.json配置文件进行配置
此时本地的scoop
库(在Scoop\apps\scoop\current
目录)便是与gitee
进行关联
已经将本地scoop
库检出为fuscoop
分支,将其中的buckets.json
(在D:\Repositorys\Scoop\apps\scoop\current
目录)中的仓库地址改为了自己建的gitee
上的(要是ssh的地址),并提交fuscoop
分支,所以记得进入D:\Repositorys\Scoop\apps\scoop\current
目录切换到fuscoop
分支。
经测:
虽然将分支切换到fuscoop
,但是使用中会自动切换到master
,所以只好在master
分支中修改buckets.json
文件中的仓库地址为自建的gitee
地址进行提交。
由于gitee
上的仓库是私有的,所以这里需要配置ssh
公钥,参照gitee
官方文档进行即可,buckets.json
文件中的仓库地址必须要改为ssh
地址,不要是http
的地址。
另外尝试过失败的方案有
使用kgithub镜像网站
使用scoop config scoop_repo https://kgithub.com/ScoopInstaller/Scoop
配置scoop
的源地址,采用这种方式主要是被kgithub.com
镜像网站误导了,网页中看https://kgithub.com/ScoopInstaller/Scoop
仓库中bucket
的内容,发现其中下载地址也被替换成了kgithub.com
,所以当时以为kgithub
将所有源代码中的下载地址已经做了替换,想着这不正好下载软件包的时候也会走kgithub.com
,速度会快,可事实并不是想象的这样,配置后发现下载地址还是github
,以为配置没生效,重启了电脑依然不行,打开本地的bucket
文件发现其中的下载地址依然是github
的地址,但查看git仓库地址已经是kgithub
的库,最后克隆kgithub
上的scoop
仓库到本地,发现其中的下载地址依然是github
,这才想明白,其实kgithub
只是在页面显示的时候将github
的下载地址替换为了kgithub
下载地址,但克隆仓库和下载zip
包得到的源码依然是github
仓库的内容,并没有改变其中内容,所以这个方式宣告失败。
使用ssr代理
通过代理后下载速度好一点点,但是依然很慢,而且不等下完就会中断,重试N多次后都不能下载完一个包,最终只好无奈放弃。