Scoop——强大的Windows命令行包管理工具

说在前面的话:本文主要写给基础一般的读者,所以有很多解释说明,请各位大佬忽略这些看起来很没用的解释,
补充,代码块里的注释要详细看,CSDN代码样式特殊,有些不好观看,敬请谅解
scoop 官方推荐使用Powershell,当然git base,cmder,cmd等也可以使用,但安装时,请使用Powershell

一、介绍

Scoop是一款软件包管理工具,类似你电脑上的软件管家,只不过Scoop是命令行操作的(见图一),可以说是一款专门为程序员开发的软件管家,你不需要再一个一个的访问官网,然后找软件的安装包,而只需要一个命令,全部搞定。

java scribe客户端 scoop java_其他


图一

它不同于普通软件管家,其最大的特点是可以自动配置环境变量,自动解决依赖冲突。也就是说如果你是一个java开发者,你只需要用Scoop下载jdk就可以直接使用java命令查看版本等,而不需要再自己配置JAVA_HOME等环境变量,Scoop已经为你做好了;如果你有使用不同的版本需求,也可以下载两个不同版本的jdk,然后使用命令 scoop reset xxx 来切换版本,方便的“布哒鸟”。同理,Python等也可以进行管理。删除、更新也全部是命令搞定(下面会介绍)。更为舒服的是,如果你想换电脑或者重装系统的话(相同操作系统),可以直接将安装位置复制走,然后稍加操作就OK了,完全不用在一个一个的下载,你的数据也不会丢失。

官方:传送门

  • Windows 7 SP1+ / Windows Server 2008+
  • Powershell 5 及以上,.NET Framework 4.5 及以上

$PSVersionTable.PSVersion.Major # 查看Powershell版本

$PSVersionTable.CLRVersion.Major # 查看.NET Framework版本这些要求一般情况下都是满足的

2、开始安装

1)安装到默认位置的话(C:\Users\scoop),什么都不用改;如果想安装到其他位置,Powershell执行以下命令(请全部阅读后在自行决定是否要用命令行改位置):

# 设置用户软件安装位置
$env:SCOOP='D:\Applications\Scoop' # 自己改你的位置,下同
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')

# 设置全局软件安装位置
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')

1.这些命令其实就是添加了一个用户环境变量,和一个系统环境变量,如果嫌麻烦,可以自己直接打开环境变量自行添加(完全可以全部添加到系统环境变量),比这方便点儿,变量名分别是SCOOP和SCOOP_GLOBAL,对应的变量值分别为你的 用户软件安装位置 和 全局软件安装位置(打个比方,图二,本人的环境变量)
2.不懂用户软件和全局软件的可以单纯的理解为,一个是给当前用户装的,一个是给所有用户装的,如果你的电脑只是自己使用,那就没啥区别了,但是使用命令行时有不同,全局安装必须有管理员权限

java scribe客户端 scoop java_Power_02


图二

2)以管理员身份打开PowerShell,输入以下命令

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
#然后输入 Y 或 A 回车

3)执行安装命令

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

# 或者
iwr -useb get.scoop.sh | iex

需要注意的是,这里可能会安装失败,因为访问外网会很慢

方案一:添加报错信息中的网站到hosts(任有失败可能),具体方法百度

方案二:使用 “科学上网” 方式(这个最直接)

如果安装失败,删除安装位置下的文件,重新安装

三、基本使用

1、注意事项

1)先安装 7zip ,很多软件需要它才能安装。

2)添加bucket前,需要安装git

3)aria2 是一个下载加速工具,但有时视乎不太好用,自行体验并决定是否使用。

scoop install aria2  # 安装
scoop config aria2-max-connection-per-server 16 # 修改配置,不改也行
scoop config aria2-split 16
scoop config aria2-min-split-size 1M

# 如果不想使用了,除了直接删除,还可以
scoop config aria2-enabled false
# 想用的时候,把false改为true

2、软件安装命令

# scoop instal 软件名

scoop install 7zip
scoop install git

# 可以使用 scoop search 软件名  查找是否有你需要的软件
# 可以使用 scoop info 软件名 查看软件介绍
# 如果第一次安装失败,需要先卸载,然后再次安装(自行探索即可知)
# 如果某个软件有依赖它会自行安装,或安装完毕后提示你

# 如果想要全局安装,以管理员身份打开PowerShell
scoop install -g xxxx

# 或者可以安装 sudo ,然后在普通身份时也可以对全局进行操作:
scoop install -g sudo # 此时以管理员身份打开的Powershell

sudo scoop install -g git # 此时普通身份亦可

# 使用 scoop list 可以查看已安装的所有软件

3、软件更新命令

# scoop update 软件名

scoop update git 

# 可以使用 scoop update * 一次性更新所有软件(必须在安装目录下使用)
# 使用 scoop update 更新scoop,有时当你安装或其他操作时scoop会自行更新自己,由于软件数量和版本极多,更新频率会有点高

# 使用 scoop status 查看可更新的软件

4、卸载命令

# scoop uninstall 软件名

scoop uninstall git

5、添加bucket

1)什么是bucket?

可以理解为一个软件库,里面有很多的软件,当你所需要的软件没有时,你需要添加其所在的bucket

2)都有哪些bucket?

scoop bucket known # 列出已知所有官方bucket
-----------------------------------------------------
main         # 默认的bucket,大多数常用软件 
extras
versions	 # 一些软件的旧版本,比如mysql5.6
nightlies
nirsoft
php 		 
nerd-fonts
nonportable
java		 # java JDK,好多版本
games
jetbrains	 # jetbrains公司的所有软件

# 自行探索要添加的bucket,当然,你可以全部添加。

3)添加bucket

# scoop bucket add bucket名

scoop bucket add java

# 使用 scoop bucket rm bucket名 移除不想要的bucket

# 还可以添加别人(或组织)创建的bucket如:

# 微信、QQ、钉钉、网易云音乐等国内常用
scoop bucket add dorado https://github.com/chawyehsu/dorado

# 国外常用
scoop bucket add dodorz https://github.com/dodorz/scoop-bucket

# 当你的多个bucket出现相同名字的软件,你可以指定bucket
scoop install main/git
# 当然你也可以自己创建一个,自行百度,此处不介绍

# 如果还不够,到官方给出的列表中查看https://github.com/rasa/scoop-directory/blob/master/by-score.md
# 这是一个md文件,由于较大,无法在线查看,可以下载后自行查看(英语不好的可要头疼了)

好了,scoop的基本使用就是这些了,希望对大家有用。使用时可以输入scoop help ,查看帮助文档自行研究。

本人还是小白一个,文章如有问题,请大家提出,一起研究学习。