WIndows 套件管理工具 - Scoop 配置與安裝

各個系統都會有自己的工具包管理工具 Ubuntu上 的 apt-get / apt、MacOS上的 homebrew、Linux 的 snap 、CentOS 或者 REHL 的 yum 或者 dnf、Windows 的 Chocolatey、Scoop、Winget,透過這樣的工具,做到自動安裝,節省下載和手動安裝時間。

之前有介紹 Chocolatey 配置與安裝 | 余小章 @ 大內殿堂 - 點部落 (dotblogs.com.tw) 的使用方式,這次來介紹 Scoop。

不同於 Chocolatey , Scoop 預設安裝位置在 home (個人)目錄,所以安裝軟體時不會有討人厭的 UAC 。另外一個優點就是 Scoop 對環境變數的管理,可以方便開發者快速切換軟體版本。

開發環境

安裝 Powershell 7

非必要,你仍然可以選用 cmd / cmder 來執行﹑只不過接下來的範例均是使用 Powershell 操作

安裝 Scoop

官網:Scoop

github 專案:lukesampson/scoop: A command-line installer for Windows. (github.com)

文件:
Home · lukesampson/scoop Wiki (github.com)
Introduction | Scoop (scoop-docs.vercel.app)

預設安裝

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
# or shorter
iwr -useb get.scoop.sh | iex

 

預設安裝路徑為 

%userprofile%\scoop

 

執行結果如下:

 

個人帳號安裝

指定安裝目錄和環境變數

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
$env:SCOOP='d:\tools\scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

 

執行結果如下:

Yao Chang Yu@119N000082 
[environment] : SCOOP' , 'D: , 
Yao Chang Yu@119N000982 
Yao Chang Yu@110N000082 
) iex (new—object net webclient) . downloadstring('https://get.scoop.sh') 
Initializing. 
Downloading scoop... 
Extracting... 
Creating shim... 
Downloading main bucket... 
Extracting. 
Adding D: to your path. 
lastupdate' has been set to 
Scoop was installed successfully! 
Type scoop help' for instructions. 
Yao Chang 
Yao Chang Yu 
[21 : 53] 
[21 : 54] 
[21 : 54] 
[21 : 
User

 

全域安裝

指定安裝目錄和環境變數,這必須使用管理員身分啟動 Windows Terminal

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
$env:SCOOP_GLOBAL='d:\tools\scoop'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

 

執行結果如下:

 

常用指令

安裝完成後,重啟 Windows Terminal,調用 scoop help 就可以確定有沒有安裝成功

執行結果如下:

 

取得已知 bucket

列出官方支援的 bucket

Scoop bucket known

執行結果如下:

Yao Chang Yu 
Yao Chang Yu@110N000082 
scoop bucket known 
main 
extras 
versions 
nightlies 
nirsoft 
php 
nerd—fonts 
nonportable 
java 
games 
jetbrains 
Yao Chang Yu@110N900082 
[22 : 59] 
[22 : 59]

 

加入 bucket

scoop bucket add extras

執行結果如下:

Yao Chang Yu 
x 
Yao Chang Yu@110N000082 
) scoop bucket add extras 
Checking repo... 
ok 
The extras bucket was added successfully . 
Yao Chang Yu@110N000082 
[12:13] 
[12:13]

 

列出已經安裝的 bucket

Scoop bucket list

執行結果如下:

 

移除 bucket

Scoop bucket rm awesome

 

搜尋所有可用的程序

scoop search

執行結果如下:

Yao Chang Yu 
Some useful commands are: 
Yao Chang Yu@110Neoee82 
scoop search 
main' bucket: 
Ipassword—cti (1.11.2) 
7zip (19.00) 
abc (1.0. 2) 
ack (3.5.9) 
acmesharp (O. 9.1.326) 
act (0.2.24) 
adb (31.0.3) 
ag (2.2.e-58-g5a1c8d8) 
ahoy (2.9. e) 
aks—engine (O. 66 . O) 
alass (2.0.9) 
atgernon (1.12.12) 
atiyun (3. e. 88) 
allure (2.1q.9) 
ammonite (2. Ll. O) 
amulet (1.21.10) 
android-cit (7583922) 
annie (e. 19.3) 
ansicon (1.89) 
ant (1.19.11) 
apache (2.q.U8) 
apimtemplate . 5) 
apktool (2.5.e) 
apngasm (3.8.9) 
arduino—cli (9 .18.3) 
argocd (2. I.e) 
[22 : 03]

 

搜尋套件

scoop search python

 

下圖搜尋了兩個 bucket

 

內建的 scoop search 速度有點慢,可以改用 scoop-search

scoop install scoop-search

或是在這個網站搜尋

https://scoop.sh/#/

安裝套件

scoop install task

執行結果如下:

 

對 Scoop 進行版本更新

scoop update

 

更新

scoop update <app> # 更新特定 app
scoop update * # 更新全部

 

解除安裝

scoop uninstall <app> # 解除安裝特定 app
scoop uninstall scoop # 解除安裝所有 app

 

切換版本

scoop reset [app]@[version]

 

清除快取

scoop cache rm <app>  # 移除特定 app 快取
scoop cache rm *      # 移除所有 app 快取

 

刪除舊版本

scoop cleanup <app>   # 删除舊版本
scoop cleanup *   # 删除所有舊版本

 

Buckets

在 Scoop 中,Buckets 是應用程序的集合。bucket 是一個 Git 存儲庫,其中包含描述如何安裝應用程序的JSON 應用程序清單。預設的 bucket是 main 主存儲桶,它始終可用預設作安裝應用程序的主要來源。執行 scoop bucket known 看到官方維護的其他 bucket

  • extras:蒐集包含有 GUI 的工具。
  • java:蒐集各種不同發行版的 JDK 、 JRE ,像是 Oracle Java 、 OpenJDK 、 AdoptOpenJDK
  • version :main 只維護最新正式版本的軟體,當需要舊版本可以從這裡安裝。

預設的情況下,運行時 scoop install <app>,它會在主存儲桶中查找,但也可以從其他存儲桶安裝。

除了官方之外,也可以建立自己的 git 倉儲來維護自己的 bucket 參考  Creating your own bucket,也可以在 awesome-scoop 找到更多社群維護的 bucket。

加入其他的 bucket

官方

scoop bucket add extras

第三方

  • 語法
scoop bucket add <name-of-bucket> <location-of-git-repo>
  • 範例
#官方的extras
scoop bucket add extras https://github.com/lukesampson/scoop-extras.git
scoop bucket add awesome https://github.com/tapannallan/awesome-scoop.git

 

JetBrains

scoop bucket add JetBrains

PS.似乎不可用
 

這裡有整理出一些 bucket 

Buckets | Scoop

Scoop - Buckets

 

推薦使用這一個 repo 會固定每天合併其他的 bucket,位置 https://github.com/kkzzhizhou/scoop-apps。 

scoop bucket add apps https://github.com/kkzzhizhou/scoop-apps

 

參考

Introduction | Scoop (scoop-docs.vercel.app)

Scoop - 在Windows命令行上進行程序安裝 - IT閱讀 (itread01.com)

Windows 套件管理工具 - Scoop:叡揚部落格 (gss.com.tw)

Windows 安裝 Scoop 來進行包管理 | IT人 (iter01.com)

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo