作为程序员,换电脑的时分重新装备环境应该是很苦楚的,尤其是在 Windows 上,需求拜访一堆网站,下载装置程序,然后点击GUI向导的装置程序装置。
尤其是用过 homebrew 或者 apt-get 之后,期望有一种更简略的方法来告知开发人员如何装置程序。
Scoop 是个不错的选择。
Scoop 是一个 Windows 下的指令行下载东西。
Scoop 能做什么?
Scoop 能以最小的代价从指令行装置程序。它能
-
消除权限弹出窗口
-
躲藏 GUI 向导款式的装置程序
-
避免 PATH 污染装置很多程序
-
避免装置和卸载程序的意外副作用
-
自动查找并装置依靠项
-
自行履行一切额定的设置步骤以取得工作程序
Scoop 能让程序员留在指令行上,提高效率,而且扩展了 PowerShell,能够运用能够很好处理文本的程序。
装置 Scoop
从非管理员 PowerShell 运转以下指令,将 scoop 装置到其默许方位。
C:\Users\<YOUR USERNAME>\scoop
iwr -useb get.scoop.sh | iex
先决条件
启用 PowerShell 的履行战略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
高档装置
假如要进行高档装置,能够下载装置程序并运用参数手动履行它。
irm get.scoop.sh -outfile 'install.ps1'
这里能够查看装置程序的一切可装备参数。
.\install.ps1 -?
例如,将 scoop 装置到自定义目录,将 scoop 装备为将全局程序装置到自定义目录,并在装置时绕过体系代理。
.\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'F:\GlobalScoopApps' -NoProxy
认识 Scoop
Scoop 装置完结后,能够运用 scoop help
获取帮助信息,能够发现 Scoop 有很多指令选项。
简洁易懂,例如,下载一个运用程序 7zip
scoop install 7zip
只需求静静等候装置完结即可,完结装置或许需求重启终端,Scoop 会自动完结环境变量的装备,即可运用。
那 Scoop 是怎么完结环境变量的装备的呢,咱们翻开体系环境变量 PATH ,能够发现 Scoop 增加了一个
<-ScoopDir>/shims
变量,翻开 Scoop 装置途径下的shims
能够发现目录下有装置软件的可履行文件和同名的.shim
文件,.shim
里的内容指向实际程序途径。
卸载程序也很简略
scoop uninstall 7zip
假如需求升级运用程序或者 Scoop 自身,只需求运用 scoop update
指令,详细信息能够加上参数 --help
获取。
装置运用
大约了解了 Scoop 的运用,就能够装置运用了。可是在这之前,咱们还需求了解一下 Scoop 的存储桶机制,Scoop 运用存储桶来存储运用。
存储桶
以下是 Scoop 已知的存储桶:
-
main – 最常见(主要是CLI)运用的默许存储桶
-
extras – 不符合主存储桶条件的运用
-
games – 开源/免费软件游戏和游戏相关东西
-
nerd-fonts – 字体
-
nirsoft – Nirsoft 的几乎一切250多个运用程序
-
java – Java 开发东西包 (JDK)、Java 运转时引擎 (JRE)、Java 的虚拟机调试东西和基于 Java 的运转时引擎的集合。
-
nonportable – 非便携式运用(或许需求 UAC)
-
php – 大多数版本的 PHP 的装置程序
-
versions – 在其他存储桶中找到的运用程序的替代版本
默许情况下会装置主存储桶。要增加任何其他存储桶,能够自行增加
scoop bucket add bucketname
例如,要增加附加存储桶,请键入:
scoop bucket add extras
Github上托管的许多其他运用程序存储桶能够在Scoop 目录或其他搜索引擎中找到。
必备运用
这里是个人主张,非常好用的运用
-
main/sudo: 模仿 UNIX 环境下
sudo
指令,在指令前运用sudo
指令会弹出提升至管理员权限的窗口。 -
main/touch: 相同是模仿 UNIX 环境下的
touch
指令 -
main/aria2: 运用多连接下载
默许情况下,在运转时或启用时显现正告。能够经过运转指令来抑制此正告。
scoop config aria2-warning-enabled false
常用软件
像是 git, vscode 这样的软件都能够经过 Scoop 装置,推荐运用这个网站:Scoop,能够找到大部分开发软件所在的存储桶,装置指令能够直接复制到指令行。
Scoop 能够装置什么样的运用程序?
运用 Scoop 装置最好的运用程序一般被称为“便携式”运用程序:即压缩的程序文件,它们在提取时独立运转,并且没有副作用,例如更改注册表或将文件放在程序目录之外。
由于装置程序很常见,因此 Scoop 也支持它们(及其卸载程序)。
可是关于 TIM,腾讯会议之类的运用,或许 Scoop 支持的不多,就得去官网下载了。
社区存储桶的 star 数或许能做个参阅,数量太少很简单失效,毕竟是个人维护,主张运用尽量运用官方的存储桶。
导出装置的运用
换电脑怎么办?总不能再一个个指令敲进去装置运用吧?别急,Scoop 提供了导出选项,将装置的存储桶和运用悉数导出为装备文件,下次装置的时分直接导入即可。
导出:
scoop export > scoopfile.json
导出的 JSON 文件:
{
"buckets": [
{
"Name": "main",
"Source": "https://github.com/ScoopInstaller/Main",
"Updated": {
"value": "\/Date(1661805004000)\/",
"DisplayHint": 2,
"DateTime": "2022年8月30日 4:30:04"
},
"Manifests": 1072
},
{
"Name": "versions",
"Source": "https://github.com/ScoopInstaller/Versions",
"Updated": {
"value": "\/Date(1662064635000)\/",
"DisplayHint": 2,
"DateTime": "2022年9月2日 4:37:15"
},
"Manifests": 354
},
...
],
"apps": [
{
"Info": "",
"Source": "main",
"Name": "7zip",
"Version": "22.01",
"Updated": "\/Date(1659095893850)\/"
},
{
"Info": "",
"Source": "main",
"Name": "aria2",
"Version": "1.36.0-1",
"Updated": "\/Date(1657286226200)\/"
},
...
]
}
导入相同简略
scoop import <path/url to scoopfile.json>