用scoop代替chocolatey做Windows包管理器
原来一直用chocolatey
做包管理器, 最近发现了一个scoop
, 试了几天, 可以换掉chocolatey
了.
chocolatey VS scoop
chocolatey
权限要求高,scoop
使用-g
安装才需要管理员权限, 默认普通用户权限.scoop
可以建软件包仓库, 如果官方仓库里没有想用的软件, 可以自己建一个仓库, 存放自己的软件.chocolatey
很多软件安装位置不固定, 会污染Path
scoop 安装
-
设置
powershell
set-executionpolicy remotesigned -s currentuser
-
默认安装(安装到
C:\Users\<user>\scoop
), 在powershell
里面运行:Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
-
安装到指定目录(
D:\tool\scoop
)$env:SCOOP='D:\tool\scoop' [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User') Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
-
指定
-g
安装目录(D:\tool\scoop_global
)$env:SCOOP_GLOBAL='D:\tool\scoop\scoop_global' [environment]::setEnvironmentVariable('SCOOP_GLOBAL',$env:SCOOP_GLOBAL,'Machine')
scoop 使用方法
-
常用命令
scoop help #帮助 scoop list #查看当前已安装软件 scoop info app #查看软件信息 scoop install app #安装软件 scoop search app #搜索软件 scoop uninstall app #卸载软件 scoop update app #更新指定软件 scoop update * #更新安装的软件和scoop # 设置代理(http) scoop config proxy 127.0.0.1:4412
-
shims 目录
scoop
安装程序后会在scoop
安装目录下的shims
里生成一个对应程序的shim.exe
(不知道为啥不用快捷方式).安装
scoop
后 会自动把shims
目录加到用户的Path
里. -
persist 目录 这个目录下面放的是已安装软件的配置文件, 后续更新软件的时候这部分内容不会修改.
-
scoop 添加
extras
源 (默认的软件有点少)scoop bucket add extras
scoop 使用问题
- 安装某些
gui
程序后, 运行对应的shim.exe
会出现cmd
窗口 (nvim-qt
cmd
窗口一直显示,cmder
cmd
窗口一闪而过 ) 解决办法: 把Scoop Apps
目录加到path
里, 目录在C:\Users\fcying\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps