目录

scoop 一个好用的windows包管理工具

更新于 2021-01-23

简述

scoopwindows上的开源的包管理工具之一,例如ubuntu上的aptMacOS上的Homebrew,能够通过简洁的命令行管理电脑上的软件。目前来讲,我觉得scoop是windows包管理器中最好用的一个。

  • scoop 基于GO语言,十分轻量高效,能够将软件直接安装在用户指定的目录下,同时安装过程不会申请管理员权限(UAC)。

  • scoop对于开发人员十分友好,能十分方便的部署如Python,Nodejs,Java等的开发环境,同时还可以方便的切换版本。

  • scoop十分适合安装开源软件,还能够便捷的进行升级、卸载。

安装

scoop默认情况下使用普通用户权限,其本体和安装的软件默认存放在C:\Users\用户名\scoop【可修改】。

环境要求:

  • Windows 版本不低于 Windows 7
  • Windows 中的 PowerShell 版本不低于 PowerShell 3
  • 正常、快速 的访问 GitHub 并下载上面的资源
  • 你的 Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)

安装过程

  1. 以管理员权限运行powershell

  2. 设定安装路径

    #用户级别的安装目录
    $env:SCOOP='T:\Program\scoop\user'
    [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
    #全局安装目录
    $env:SCOOP_GLOBAL='T:\Program\scoop\global'
    [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
    
  3. 给与即将运行的安装脚本权限

    Set-ExecutionPolicy RemoteSigned -scope CurrentUser
    
  4. 运行安装脚本

    iwr -useb get.scoop.sh | iex
    
  5. 安装完成

    scoop help
    
  6. 安装git

    scoop 的正常运行需要使用git

    scoop install git
    

使用方法

常见的命令如下:

  • scoop search <app> - 搜索软件
  • scoop install <app> - 安装软件
  • scoop info <app> - 查看软件详细信息
  • scoop home <app> - 打开软件的主页
  • scoop bucket known - 查看已经收录的仓库源
  • scoop bucket add <app> -添加软件仓库源
  • scoop bucket add <url> -添加自定义或未收录的仓库源
  • scoop list - 查看已安装软件
  • scoop uninstall <app> - 卸载软件,-p删除配置文件。
  • scoop update - 更新 scoop 本体和软件列表
  • scoop update <app> - 更新指定软件
  • scoop update * - 更新所有已安装的软件
  • scoop checkup - 检查 scoop 的问题并给出解决问题的建议
  • scoop help - 查看命令列表
  • scoop help <command> - 查看命令帮助说明

实例

下面以firefox为例

搜索软件

scoop search firefox

安装软件

scoop install firfox

卸载软件

scoop uninstall firefox

查看软件主页

scoop home firefox

添加仓库

scoop bucket add extras
scoop bucket add nirsoft

添加自定义仓库(第三方仓库)

scoop bucket add <bucketname> <仓库链接>

scoop bucket add jtxiao https://github.com/jtxiaocom/scoop.git

这是我个人维护的一个bucket,里边的软件会在后续相关文章中介绍。[我的scoop bucket](https://jtxiao.com/pu/posts/我的scoop bucket)

概念解释

参考 Home · lukesampson/scoop Wiki

bucket

scoop中,buckets是软件仓库,准确的说,是一个Git仓库,该仓库包括了JSON格式的 app Manifests,这些app manifests描述了如何安装一个软件。

scoop默认添加了main bucket,当通过scoop安装软件时候,默认查找main bucket进行安装,当然,我们也可以添加其他bucket

我们可以通过scoop bucket known来查看经过官方认证的bucket

image-20210119184400806

上述这些软件仓库都可以像下面这样直接添加

scoop bucket add <bucketname>

关于几个bucket的解释

  • main bucketscoop官方维护的的仓库,里边收录了很多知名的开源软件,但是其软件的收录十分严格,比如必须开源,必须没有GUI界面等等。

  • extras bucket 也是官方维护,这里边有很多我们常用的软件,如vs-code等等,建议大家添加这个仓库

    scoop bucket add extras
    

更多内容可以参见Buckets · lukesampson/scoop Wiki

处理注册表

scoop 一般不修改注册表(主要看scoop bucket 维护者是否选择自动为你添加注册表),scoop 官方维护的bucket 都不会主动添加注册表。有一些软件如7-zipvscode等需要注册表的一般可以在安装目录中找到.reg文件来手动添加与卸载注册表。

处理环境变量

scoop 会将其下载的所有软件的启动文件创建一个快捷方式给一个指定目录,在环境变量中添加该目录。

进阶使用

清理缓存

scoop 会保留下载下来的内容,用于卸载后又进行重新安装的情况。但时间长了可以清理以下缓存,使用scoop cache

  • scoop cache show - 显示安装包缓存
  • scoop cache rm <app> - 删除指定应用的安装包缓存
  • scoop cache rm * - 删除所有的安装包缓存

如果你不希望安装和更新软件时保留安装包缓存,可以加上 -k--no-cache 选项来禁用缓存:

  • scoop install -k <app>
  • scoop update -k *

删除旧版本软件

当软件被更新后 Scoop 还会保留软件的旧版本,更新软件后可以通过 scoop cleanup 命令进行删除。

  • scoop cleanup <app> - 删除指定软件的旧版本
  • scoop cleanup * - 删除所有软件的旧版本

与安装软件一样,删除旧版本软件的同时也可以清理安装包缓存,同样是加上 -k 选项。

  • scoop cleanup -k <app> - 删除指定软件的旧版本并清除安装包缓存
  • scoop cleanup -k * - 删除所有软件的旧版本并清除安装包缓存

全局安装

全局安装就是给系统中的所有用户都安装,且环境变量是系统变量,对于需要设置系统变量的一些软件就需要全局安装,比如 Nodejs、Python ,否则某些情况会出现无法找到命令的问题。

使用 scoop install <app> 命令加上 -g--global 选项可对软件进行全局安装,全局安装需要管理员权限,所以需要提前以管理员权限运行的 Pow­er­Shell 。更简单的方式是先安装 sudo,然后用 sudo 命令来提权执行:

scoop install sudo
sudo scoop install -g <app>

使用 scoop list 命令查看已装软件时,全局安装的软件末尾会有 *global* 标志。

代理设置

由于大部分开源软件都存在github上面,国内下载网络不好,建议安装的时候打开命令行代理

set http_proxy=http://127.0.0.1:10801
set https_proxy=http://127.0.0.1:10801

开启多线程下载

使用 Scoop 安装 Aria2 后,Scoop 会自动调用 Aria2 进行多线程加速下载。

scoop install aria2

使用 scoop config 命令可以对 Aria2 进行设置,比如 scoop config aria2-enabled false 可以禁止调用 Aria2 下载。

一些推荐的软件

写盘软件

scoop install rufus

其他软件

scoop install aria2 ffmpeg nodejs python screentogif trafficmonitor typora vscode-portable potplayer

scoop install goldendict shadowsocksr-csharp
scoop install autohotkey cpu-z gifcam github everything
scoop install sublime-text


scoop install obs-studio sumatrapdf keepass rclone pandoc telegram shadowsocks notion
scoop install spacesniffer teamviewer qtranslate postman sudo

参考