gpt4 book ai didi

windows - Chocolatey 的正确使用(包更新/版本管理)

转载 作者:可可西里 更新时间:2023-11-01 09:43:11 27 4
gpt4 key购买 nike

注意:此问题适用于 Chocolatey 0.9.8 及以下版本。后来的版本从PowerShell脚本完全重写为C#应用程序,包管理的整个过程得到了很大的改进。

我使用Chocolatey 有一段时间了。一开始我很兴奋,但过了一段时间我不确定它是否可用。我最关心的是正确的包更新方式。

比如我安装了Atom editor使用巧克力Atom 的新版本发布非常频繁,所以我已经多次更新这个包。然后我注意到我以前安装的所有版本的 Atom 仍然存在于 Chocolateylib 中。目录。 Chocolatey 实际上不会更新包;它只是在旧版本之外安装一个新版本,如果您使用命令 choco update <package> 也没关系。或 choco update all .目前也没有办法使用 Chocolatey 卸载以前安装的包,除了最近的一个。

因此我想知道使用Chocolatey 管理包版本的正确方法是什么。我是否应该手动删除旧版本的包,并希望在 Chocolatey 的包目录之外没有依赖项?

或者更确切地说,这样做?

choco uninstall <package>
choco install <package>

如果我使用 Chocolatey 安装的不是一个包,而是几十个包怎么办?

此外,每个版本的包都在单独的目录中会导致各种问题(例如 thisthisthis)。

我认为这不适合实际使用。或者也许我错过了什么。实际上我希望我遗漏了一些东西 :) 因为 Windows 上的软件管理多年来一直是一个痛苦的过程。一团糟。

我会说 Chocolatey 更像是一个依赖管理器,但它应该是一个包管理器。它宣传自己为“apt-get for Windows”和apt-get是一个包管理器。包管理器(如 Chocolateyapt-getbrew)和依赖项管理器(如 npmbower)之间存在很大差异。这两种方法中的每一种都适用于不同的目的。谁需要同时使用不同版本的 Git、Atom、VLC 媒体播放器、Chrome 等?

还讨论了例如herehere ,但一年内没有任何变化。 似乎应该在用 C# 而不是 PowerShell 编写的新客户端中解决,但尚未发布(应该在 2014 年底之前发布)。在那之前,我没有看到Chocolatey 有任何附加值。

最佳答案

更新:在 choco 0.9.9+(C# 编译版本)中不再是这种情况。

你是对的。随着时间的推移,PowerShell 版本的更新会让 Chocolatey 文件夹变得非常疯狂。 FWIW,Chocolatey 的 PowerShell 版本是一个已经存在太久的实验。从第一年末开始,我就一直在谈论重写它。同意你所看到的是丑陋的。请放心,这不是新版本的工作方式。现在有一些软件包可以安装多个版本(Ruby 和 Python),但数量很少。

Chocolatey 的早期设计在某种程度上依赖于 NuGet.exe,它不具备 NuGet.Core.dll 所具有的所有相同功能,就包管理而言(尽管它有一些我提交的非常迟钝的错误在编写 C# 版本的 choco 时)。

我真的很高兴发布新版本,但首先需要功能对等。它将在发布之前或同时被 FOSSed。它是将支持专业/业务扩展的版本。我无法使用当前的 PowerShell 版本尝试这样做。 ;)

现在您可以手动跳转到 lib 文件夹并删除所有旧文件夹。在大多数情况下,Chocolatey 甚至不考虑旧版本。它只查看最新版本。它犯的唯一错误是没有删除旧文件夹(并首先在文件夹上使用版本)。

关于windows - Chocolatey 的正确使用(包更新/版本管理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com