windows 平台下面的包管理工具好么?比如 Chocolatey, scoop?

2021-02-07 10:53:15 +08:00
 yazoox

如题!类似于 macosx 下面的 brew 工具
不知道 windows 下面的这类工具好用么?

有没有兄弟使用过这类工具,分享一下经验心得?

6256 次点击
所在节点    Windows
26 条回复
jdhao
2021-02-07 10:55:14 +08:00
你自己都说了。 最新的还有个 winget 吧
th1nk
2021-02-07 10:55:17 +08:00
chocolatey
scoop
winget
appget
npackd
oneget
waruqi
2021-02-07 10:57:10 +08:00
还有 xrepo 跨端的
nguoidiqua
2021-02-07 11:14:00 +08:00
scoop 还可以,感觉比 choco 方便点。

目前能用 scoop 装的东西基本上都用 scoop 装,主要问题在于下载源在外面,需要那个一下。另外下载、安装、清理效率不如 Linux 之类包管理来得轻快,所以比较大型且可以自己点一下就更新的软件我还是另外安装了。

等着看微软自己搞的能发展到什么样了。
billgong
2021-02-07 11:46:27 +08:00
winget 、scoop 和 chocolatey 都用过。最后选(忍)择(耐)了 scoop,最大的原因莫过于 scoop 的理念和 homebrew 类似,即安装的软件都是相对 portable 的

chocolatey 作为包管理器是合格的,但其设计方式限制太多了,解决或者跳过依赖需要大量的 workaround 。这种理念放 Linux 没问题,毕竟整个 distro 都是基于 package manager 管理的。但 Windows 不一样,安装软件的方式五花八门,Chocolatey 管理方式非常生硬,如果软件单独被升级(最明显的例子就是 vcredist ),chocolatey 非得是商业版本才能检测并自我更新。用一段时间后你就会发现你的软件和 chocolatey 彻底脱节了,完全乱成一团的那种

scoop 规模小得多,而且非常自由(包管理方面),当然了缺点也超级明显 - bug 奇多,有些设计(比如 manifest 的 autoupdate )不知所云(可能是我还是太年轻了)。但装出来的结果很干净,java 、python 这种东西也能通过 env 方便地应用到系统全局。现在困扰我最大的问题就是 manifest 可选项太少,比如一些常用依赖包(如 lessmsi 、nmap-portable )生成的开始菜单快捷方式没什么用还占地方还没选项删除(即下次升级还会再生成回来)。想装个 busybox 的话,你的 shims 文件夹就彻底乱掉了(呵呵),防冲突设计基本等于零。

要不是太折腾,我真的很想把 production 切到 Linux 上去,包管理真的是完善。
fiveelementgid
2021-02-07 11:51:54 +08:00
NuGet(错乱
caixiaomao
2021-02-07 11:55:39 +08:00
目前用的 scoop 体验良好 不过有时候下载速度慢 可能得备个梯子
billgong
2021-02-07 12:01:17 +08:00
@caixiaomao 应该是和 scoop 大多数都是从 github 下东西相关吧……

完全镜像一个全国内镜像的 bucket 应该不是很难,就是很累
rayhy
2021-02-07 12:06:55 +08:00
装一些小工具软件还是可以的。但是因为注册表的存在,装 gui 程序总是觉得有乱七八糟的问题,比如绑定用 vscode 打开的文件图标都是 vscode 本身的图标,而看不出文件的类型。
canbingzt
2021-02-07 13:20:36 +08:00
scoop 挺好用的
pxCore
2021-02-07 13:34:00 +08:00
用过 scoop/choco,scoop 管理更加简单,通过 choco 安装的东西我都不知道在哪(或者我没用对)
iamwho
2021-02-07 14:27:10 +08:00
scoop 最具使用体验,但是它不承认自己是包管理器。

winget 感觉就是一个安装包下载器(现在是什么样子我不知道,刚发布的时候用过一次)。
nightwitch
2021-02-07 14:37:24 +08:00
choco 功能比较弱,至少和 Linux 下的 apt/dnf/pacman 是没法比的,不过安装 /更新 /卸载软件还是合格的,scoop 只短暂体验过。

一个我观察到的主要问题是很多 Windows 上的软件在编写的时候并没有考虑包管理器的存在,自身往往会带有 update 的机制,所以就会导致你在 choco 上安装了 a 版本的软件,用的过程中软件自动升级了,但是并不会有一个机制通知包管理器它已经升级了,在包管理器的记录上它还是旧版本。

另外一个问题是感觉开发有关的包感觉比较少, 可能有开源库会选择去打包一个 deb 包,但是很少见到有库去打包成 choco 的包。boost 之类的还能在 choco 上找到,gtest/glog 等库就搜索不到了。
forcecharlie
2021-02-07 14:41:49 +08:00
我一般用自己写的 [baulk]( https://github.com/baulk/baulk),极简,绿色,环境变量隔离,支持虚拟环境(并行安装多个 JDK 等),提示现代,和 Windows Terminal 集成较好。
ungrown
2021-02-07 14:50:10 +08:00
我常用软件中前三梯队的安装包、压缩包、展开包都分门别类放在坚果云网盘里面,我没觉得 winos 目前的包管理器生态位足够方便好用,可能对于需要大量机器批量安装的人来说包管理器也许会方便一点(在外网通畅的前提下)
zachlhb
2021-02-07 18:44:47 +08:00
自己用的 chocolatey,感觉还不错的
zx900930
2021-02-07 19:52:02 +08:00
choco 非商业版也可以用第三方的包通过计划任务自动更新 package 的。
不过问题是:
1.只能装在 C 盘,要想装别的盘需要通过软链接映射。
2.如果你的版本不是默认的版本,比如 sqlserver, 你可能需要不同的名字,不同的语言版本,你得自己去下载安装包,自己修改配置文件,然后再 choco install + param, 这是脱裤子放 P, 而且也不能自动更新。
3.包的数量太少,很多包都没有。
systemcall
2021-02-07 19:56:42 +08:00
用过 choco 和 win-get,感觉都不太好用。win-get 感觉是微软软件管家,只是自动下载软件而已,而且安装的卸载都不知道去哪里卸载。不知道现在怎么样了,以前是很难用
话说微软弄过多少包管理器了? msi appx nuget win-get,还有什么呢?印象中不止这几个吧,还有个 Windows 商店?
TypeError
2021-02-07 20:00:19 +08:00
choco 装 gui 软件,
scoop 装开发者工具,完全够用,比 brew + brewcask 好用
eddie4607
2021-02-07 20:09:19 +08:00
scoop 支持的软件比较多吧,不过确实有些软件会有安装的 bug 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/751984

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX