给 Scoop 加上这些软件仓库,让它变成强大的 Windows 软件管理器 | 您所在的位置:网站首页 › aria2代理设置 › 给 Scoop 加上这些软件仓库,让它变成强大的 Windows 软件管理器 |
此前我介绍过 Scoop 这个优质的 Windows 包管理器。它不仅轻量,还将软件直接安装到我们的用户目录下,安装过程不需要申请管理员权限(UAC)也不会污染系统环境变量。 Scoop 很厉害,但是 Scoop 默认软件仓库(main bucket)软件数量是有限的。同时由于 Scoop 的设计初衷是为了方便 Windows 开发者安装和配置开发工具,其默认软件仓库的收录条件也就很苛刻: 必须是主流的开发者工具 必须是维护中的最新版本的软件 必须是完整版本(非 Trial 版本)的软件 不可以有复杂的安装前与安装后处理步骤 不可以有 GUI这个最后一点恐怕是最严格的条件了,直接否决了一系列用户向软件(Firefox、Typora 等等)的收录。但是我们一样可以安装我们常用的图形界面软件,这就涉及到接下来我要介绍的,与 Homebrew cask 的设计理念类似的 Scoop bucket。 什么是 bucket?在 Scoop 里面,bucket 就是一个软件仓库。Scoop 将一个个仓库缓存至本地,当我们想要安装一个软件的时候,Scoop 就从本地的仓库中挑选出我们想要安装的软件的安装配置文件,并依照这个配置文件进行软件的安装工作,包括: 从哪里下载软件 如何安装软件、安装到哪里、需要修改更新什么环境变量 安装之前、之后都要做什么准备(善后)工作……这就是 Scoop 安装软件的一个具体过程。 举个例子,比如我们希望安装 aria2 下载工具这个软件,我们先来仔细看看它的详细配置: scoop info aria2![]() 这些就是一个软件的安装配置详情。其中 Manifest 项目下的路径指向的文件是 Scoop 具体读取的配置文件,我们的 bucket 就是由这样的一个个配置文件组成的。 默认的,当我们将 Scoop 第一次下载安装好之后,我们就有了主仓库(main bucket)的软件安装配置文件的集合。我们可以 在这里 看到这些软件的列表。一样的道理,我们可以通过添加 bucket 来添加其他软件仓库,从而下载我们想要的软件的安装配置文件,来安装不在默认仓库中的软件。 添加一个 bucket首先,Scoop 给我们提供了很多可以直接使用的 bucket,就是为了方便我们安装更为常见的带有 GUI 的软件。一个最为常见,也是我推荐大家添加的 bucket 是 extras,这里面基本涵盖了大部分不符合 main bucket 收录条件的常用软件,包括我们熟悉的:各个版本的 Firefox、福昕阅读器、Geek Uninstaller、Inkscape、Snipaste 等等。(甚至有 Steam,但是不推荐用这样的方式安装。) 我们可以通过下面这个命令来添加 extras 这个 bucket: scoop bucket add extras![]() 之后,我们就可以下载更多更多常见的软件了。比方说,我们要下载 ScreenToGif 这个极为好用的 Gif 屏幕录制软件: scoop install screentogif![]() 就这样简单。(这里我安装看起来很快的样子,实际上是由于我之前下载过 ScreenToGif 缓存还在,因此没有下载的过程。) 官方维护的 bucketextras 这个 bucket 是最有用,也是我们大部分人肯定会用到的仓库。除此之外,我们可以通过这个命令查看 Scoop 还能直接识别哪些 bucket: scoop bucket known![]() 下面列出的这几个仓库就是 Scoop 可以直接识别并添加的 bucket,即我们可以通过下面这个命令直接添加相应的 bucket: scoop bucket add这里面,我来介绍一下和开发环境的安装没有太大关系的几个仓库: extras:就是我刚刚介绍的,Scoop 官方维护的一个仓库,涵盖了大部分因为种种原因不能被收录进主仓库的常用软件。地址:lukesampson/scoop-extras nirsoft:是一个 NirSoft 开发的小工具的安装合集。NirSoft 制作了大量的(dozens and dozens)小工具,包括系统工具、网络工具、密码恢复等等,孜孜不倦、持续更新。 Bucket 地址:kodybrown/scoop-nirsoft NirSoft 官网地址:NirSoft games:顾名思义,是游戏(和与游戏相关的工具)合集。包含了大量免费/开源的小游戏,地址:Calinou/scoop-games剩下的几个 bucket 都是和开发环境相关的,比如 java 这个 bucket 就是为了安装 JDK 用的 bucket,这些我在这里就不过多赘述了。 社区提供的 bucket上面几个 bucket 都是 Scoop 官方维护认证的 bucket,当然我们也有很多由社区(用户)维护的 bucket。这里是一个按照 Github score(由 Star 数量、Fork 数量和 App 数量综合决定的 Github score)排列的 bucket 列表:Scoop buckets by Github score。 ![]() 我们可以通过这样的方式来将社区维护的 bucket 添加至本机的 Scoop bucket 列表: scoop bucket add再举个例子,比如添加「🐟 dorado」仓: scoop bucket add dorado https://github.com/h404bi/dorado这样之后,如果我们要安装「🐟 dorado」仓的某项 App,直接通过下面的这个命令安装即可: scoop install dorado/往往,Google 搜索「App 的名字 + scoop」就可以找到我们想要安装 App 的仓库有没有存在。 更多进阶操作下面的操作涉及到一定的开发经验,需要 git 的版本控制知识和对 json 文件的了解。如果上面介绍的方法已经满足了你的需求,就可以忽略这里的介绍了。 「可是我想要安装的软件这里都没有啊?」 不要慌,我们照样有办法:我们可以自己维护一个 bucket (Creating your own bucket),在里面写上我们所需要软件的安装步骤配置文件,从而自定义一个我们自己的 bucket。以在 GitHub 上托管一个名字为 my-bucket 的 bucket 为例子: 建立一个 GitHub 仓库名为 my-bucket 在 PowerShell 中执行下面的操作,向 my-bucket 中添加一个名字叫 hello 的 App: # 将仓库克隆至本地 git clone https://github.com//my-bucket # 进入 my-bucket cd my-bucket # 创建 App 的安装配置文件 hello.json '{ version: "1.0", url: "https://gist.github.com/lukesampson/6446238/raw/hello.ps1", bin: "hello.ps1" }' > hello.json # 将本地更改同步至 GitHub git add . git commit -m "add hello app" git push 在 Scoop 中将 my-bucket 添加至你的 Scoop bucket 列表: scoop bucket add my-bucket https://github.com//my-bucket 测试是否成功: # 安装 hello 这个 App scoop install hello # 运行 hello hello你应该会看到 Hello, !。 ![]() 这就是官方给出的自定义 bucket 的 demo,你需要继续对 hello.json 进行配置,包括你所想要安装 App 的下载地址、安装步骤等一系列配置方法。这些操作更为复杂,我在这里不继续介绍了,感兴趣的话请参考:App Manifests 尾巴这篇文章我就介绍到这里,相信你读到这里,已经可以高效的利用 Scoop 安装和管理自己的 App 了。 Scoop 是一个强大的工具,有着极大的可玩性、设计与实现理念,包括但不限于 shim 的软链接理念、利用 persist 存储用户数据等等,如果你感兴趣,请直接参考 Scoop 官方的 Wiki。 |
CopyRight 2018-2019 实验室设备网 版权所有 |