分别试用了chocolatey和scoop一下,最终放弃了chocolatey,选择使用scoop

chocolatey VS scoop

  • chocolatey权限要求高, scoop 使用-g安装才需要管理员权限, 默认普通用户权限.
  • scoop可以建软件包仓库, 如果官方仓库里没有想用的软件, 可以自己建一个仓库, 存放自己的软件.
  • chocolatey很多软件安装位置不固定, 会污染Path

scoop 安装

  • 设置powershell

    1
    set-executionpolicy remotesigned -s currentuser
  • 默认安装(安装到C:\Users<user>\scoop), 在powershell里面运行:

    1
    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
  • 安装到指定目录(D:\Applications\Scoop)

    1
    2
    3
    [environment]::setEnvironmentVariable('SCOOP','D:\Applications\Scoop','User')
    $env:SCOOP='D:\Applications\Scoop'
    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
  • 指定-g安装目录(D:\Applications\Scoop_GlobalApps)

    1
    2
    [environment]::setEnvironmentVariable('SCOOP_GLOBAL','D:\Applications\Scoop_GlobalApps','Machine')
    $env:SCOOP_GLOBAL='D:\Applications\Scoop_GlobalApps'

scoop 使用方法

  • 常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    scoop help        #帮助
    scoop info #查看软件信息
    scoop bucket #管理buckets
    scoop install #安装软件
    scoop list #查看当前已安装软件
    scoop search #搜索软件
    scoop uninstall #卸载软件
    scoop update #更新安装的软件和scoop
    scoop cleanup #删除旧版本清理应用程序
  • shims 目录

    scoop安装程序后会在scoop安装目录下的shims里生成一个对应程序的shim.exe(不知道为啥不用快捷方式)

    安装scoop后 会自动把shims目录加到用户的Path里

  • persist 目录

    这个目录下面放的是已安装软件的配置文件, 后续更新软件的时候这部分内容不会修改

scoop bucket

Scoop 给我们提供了很多可以直接使用的 bucket,就是为了方便我们安装更为常见的带有 GUI 的软件。一个最为常见,也是我推荐大家添加的 bucket 是 extras,这里面基本涵盖了大部分不符合 main bucket 收录条件的常用软件,包括我们熟悉的:各个版本的 Firefox、福昕阅读器、Geek Uninstaller、Inkscape、Snipaste 等等

  • 添加bucket:

    1
    scoop bucket add <name-of-bucket> <location-of-git-repo>
  • 官方维护的 bucket

    extras:Scoop 官方维护的一个仓库,涵盖了大部分因为种种原因不能被收录进主仓库的常用软件。地址:lukesampson/scoop-extras

    1
    scoop bucket add extras      #添加官方bucket
  • 官方维护认证的 bucket

    extras 这个 bucket 是最有用,也是我们大部分人肯定会用到的仓库。除此之外,我们可以通过这个命令查看 Scoop 还能直接识别哪些 bucket:

    1
    2
    scoop bucket known           #列出 Scoop 已知的 bucket
    scoop bucket add [bucketName]
  • 社区提供的 bucket

    scoop也有很多由社区(用户)维护的 bucket。这里是一个按照 Github score(由 Star 数量、Fork 数量和 App 数量综合决定的 Github score)排列的 bucket 列表:Scoop buckets by Github score

  • 自己维护一个 bucket

    • 创建一个名为eg的新GitHub仓库 my-bucket
    • 将应用添加到您的存储桶中。在PowerShell会话中:
      1
      2
      3
      4
      5
      git clone https:// github.com / < your - username > / my - bucket
      cd my - bucket' {version:“1.0”,url:“https://gist.github.com/lukesampson/6446238/raw/hello.ps1”,bin:“hello.ps1”} ' > hello.json
      git add
      git commit - m “ add hello app ”
      git push

往往,Google 搜索「App 的名字 + scoop」就可以找到我们想要安装 App 的仓库有没有存在

scoop 常用软件

1
2
3
4
5
6
7
8
9
scoop install 7zip #安装压缩软件
scoop install git #安装Git
scoop install aria2 #安装aria2后,scoop会自动调用aria2进行多线程下载以加速下载
scoop install cmder-full #安装 cmder
scoop install vscode #安装 VS Code
scoop install dotnet-sdk #安装dotnet sdk
scoop install docker #安装docker
scoop install gitextensions #安装gitextensions
scoop install tortoisesvn #安装tortoisesvn

使用问题

  • 安装某些 gui 程序后, 运行对应的 shim.exe 会出现 cmd 窗口 (nvim-qt cmd窗口一直显示, cmder cmd窗口一闪而过 ) 临时解决办法: 手动删掉 对应的shim.exe, 改放一个快捷方式