用scoop代替chocolatey做Windows包管理器
原来一直用chocolatey做包管理器, 最近发现了一个scoop, 试了几天, 可以换掉chocolatey了.
chocolatey VS scoop
chocolatey权限要求高,scoop使用-g安装才需要管理员权限, 默认普通用户权限.scoop可以建软件包仓库, 如果官方仓库里没有想用的软件, 可以自己建一个仓库, 存放自己的软件.chocolatey很多软件安装位置不固定, 会污染Path
scoop 安装
-
设置
powershellset-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-qtcmd窗口一直显示,cmdercmd窗口一闪而过 ) 解决办法: 把Scoop Apps目录加到path里, 目录在C:\Users\fcying\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps