标签:windows
;scoop
软件包管理工具有很多,相比于 Chocolatey,Scoop 更专注于开源的命令行工具,使用 Scoop 安装的应用程序通常称为"便携式"应用程序,需要的权限更少,对系统产生的副作用也更少,所以这里选择了使用 Scoop。
⚠️️ 注意:对于像 VirtualBox、Docker for Windows ,输入法等这些需要高权限的软件还是通过在官网下载安装包进行安装。
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps
⚠️️ 请确保PowerShell >= 5.0,(如果是 Window10 则默认满足此条件)
set-executionpolicy remotesigned -scope currentuser
# 或者 (但是它没有上面的命令安全)
set-executionpolicy Unrestricted -scope currentuser
⚠️️ 用户级别安装的程序和 Scoop 本身默认安装于
C:\Users\<user>\scoop
;
全局安装的程序(所有用户可用,使用--global
或-g
选项)位于C:\ProgramData\scoop
路径中。
可以通过更改对应的环境变量更改这些路径 。
SCOOP
,再运行 iex
# 先添加用户级别的环境变量 SCOOP
$env:SCOOP='D:\Scoop' #自定义路径
[environment]::setEnvironmentVariable('SCOOP',$env:SCOOP,'User')
# 然后下载安装 Scoop (如果使用默认安装路径则直接运行下面的命令)
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
# 或者使用下面的命令安装:
iwr -useb get.scoop.sh | iex
$env:SCOOP_GLOBAL='D:\GlobalScoopApps' #自定义路径
[environment]::setEnvironmentVariable('SCOOP_GLOBAL',$env:SCOOP_GLOBAL,'Machine')
⚠️️ 为什么需要全局安装?
对于那些需要管理员权限的程序需要进行全局安装。或者例如安装字体时如果需要给所有用户使用,则使用全局安装。
到此,Scoop 便安装完成。
Scoop 可安装的软件信息存储在 Bucket 中,也可以称其为软件源。Scoop 默认的 Bucket 为 main , 由于 Scoop 的设计初衷是为了方便 Windows 开发者安装和配置开发工具,其默认软件仓库的收录条件也就很苛刻:
这也就使得默认仓库的软件数量比较有限的。不过,除了 main 外,官方还维护了几个其他源,同时也有很多第三方源。我们可以通过手动添加 bucket 来添加其他软件仓库,从而下载我们想要的软件的安装配置文件,来安装不在默认仓库中的软件。这里是一个按照 Github score(由 Star 数量、Fork 数量和 App 数量综合决定的 Github score)排列的 bucket 列表:https://rasa.github.io/scoop-directory/by-score
下面简单介绍几个源:
scoop help # 帮助
scoop help cache # 查看某一命令的具体用法,如查看cache命令的具体用法
scoop checkup # 检测当前潜在的问题
scoop status # 检查有哪些软件更新
scoop bucket known # 列出所有官方已知 bucket(软件源)
scoop bucket add extras # 添加某个官方 bucket,如 extras
scoop bucket add xxx https://xxx.com/xxx/xxx.git # 添加自定义源
scoop bucket rm <bucket_name> # 移除某个源
scoop search android # 搜索安卓相关软件
scoop info android-studio # 查看 Android Studio 的软件信息
scoop home git # 在浏览器中打开 git的主页
scoop install git # 安装 git
sudo scoop install git --global # 给所有用户安装 git,需要先安装 sudo
scoop install git@2.23.0.windows.1 # 安装特定版本的 APP;语法 AppName@[version]
scoop install <bucket_name>/<app_name> # 指定添加某个源中的某一程序
scoop install https://raw.githubusercontent.com/ScoopInstaller/Main/master/bucket/runat.json # 直接通过仓库的链接安装程式
scoop uninstall git # 卸载 git
scoop update # 更新 Scoop 本身
scoop update 7zip git # 更新 7zip 和 git
scoop update * # 更新所有软件
scoop hold 7zip # 禁止 7zip 程序更新
scoop unhold 7zip # 允许 7zip 程序更新
scoop list # 列出所有已安装软件
scoop list adopt # 列出已安装的名字中带有 adopt 的软件
scoop export > scoop.txt # 导出 Scoop 软件列表
scoop cache show # 查看已下载的安装包缓存
scoop cache rm 7zip # 删除 7zip 的安装包缓存
scoop cache rm * # 删除所有的安装包缓存
scoop reset python27 # 切换python版本
scoop reset idea-ultimate-eap@201.6073.9 # 切换idea-ultimate-eap到201.6073.9版本
scoop reset idea-ultimate-eap # 切换到最新版本
scoop cleanup * # 删除所有软件的旧版本
scoop cleanup <app> # 删除某软件的旧版本
scoop cleanup <app> -g # 删除全局安装的某软件的旧版本
scoop cleanup <app> -k # 删除过期的软件安装包缓存
scoop config # 列出当前配置
scoop config aria2-enabled false # 关闭 aria2 加速
scoop config proxy 127.0.0.1:xxxx # 设置代理
Git Bash here
,如果需要此功能可以参考此教程添加。apps
:软件文件夹,所有非全局安装的软件都在这。
appname/current
:当前软件版本对应的文件夹的软链接,如果你对某个软件设置调用该文件夹下的软件(例如 maven 环境设为 current 目录,那么这个指向的软件永远都会是最新版本)。buckets
:软件源文件夹,所有软件的下载地址等元数据都保存在这里,内部文件夹都是由 git 形成的,因此也可以采用 git pull 来更新源。cache
:软件安装包所在位置,如果遇到软件下载缓慢的情况,也可以用其他工具下载对应软件,然后修改文件名放置到这个目录下进行安装。persist
:永久配置文件夹,大部分的软件的配置都会存到这个目录下,以保证软件最新版用的都是原来的配置。shims
:软件二进制的超链接,基本所有的命令行工具都会在这个文件夹内建立一个超链接,目的是为了防止环境变量 PATH 受到过多污染。由于众所周知的原因,使用过程中可能会遇到下载失败等各种问题。这里列两种解决方法。
如果你用浏览器可以正常访问网站,但使用 scoop 命令行总遇到网络错误等问题,可以尝试使用以下命令:
scoop config proxy 127.0.0.1:xxxx # xxxx 自行替换为自己的端口号,可以查看自己的代理工具设置,比如我的是 7890
如果目前没有特殊网络环境,可以将官方源替换为国内镜像源,命令如下:
scoop bucket rm main # 先移除现有的源
scoop bucket add main https://gitcode.net/mirrors/ScoopInstaller/Main.git # 再添加镜像源
下面列了两个常用的镜像源,关于 scoop 的镜像源其实有很多,其他可以试着在这里寻找,或者到 gitee 上看看。