如何从Chocolatey简单服务器中删除软件包? 还是撤消错误的choco push?
我正在尝试推送现有软件包的修复版本,但出现406错误,不可接受
我具有对服务器的完全访问权限,但是我对Chocolatey不熟悉,所以我不确定在这里做什么。
答案 0 :(得分:2)
就Chocolatey软件包而言,将软件包版本推送到存储库后,它应该是不可变的,这意味着它不会改变。如果您修改软件包版本的内容,则可能会遇到以下情况:人员A具有1.2.3版,人员B具有1.2.3版,但实际上它们是不同的版本。为此,理想的解决方案是您修改软件包的版本以指示包装有所更改。在Chocolatey社区存储库的上下文中,我们建议使用记录在here
中的软件包修订标记如果由于某种原因需要修复批准的软件包,则可以将第四个版本元素(也称为段)用于软件包修复符号。推荐使用两种程序包修订版本表示法:
- 日期(年/月/日)-有些人使用年月日包修复符号(如20120627中的yyyyMMdd表示为1.2.0.20120627)
- 顺序的-不推荐-有些人使用顺序编号(0,然后为1,以0表示不修复,1表示第一次修复,以此类推,如1.2.0.0和1.2.0.1)。
已经说过,如果您确实需要从Simple.Server中删除软件包,请转到AppData文件夹(默认位于C:\tools\chocolatey.server\App_Data\Packages
处),然后删除有问题的软件包。 注意:每个软件包文件夹中都包含软件包版本。只删除您要替换的那个。完成后,您应该能够再次推送新的软件包版本。
答案 1 :(得分:0)
请先在这里阅读第二个答案-它很好地解释了您可能会遇到的版本问题。
但是,如果您仍然希望删除程序包(可能是意外使用错误的ID或版本创建的),则可以使用例如nuget工具。
命令行语法如下:
nuget delete <package id> <package version> -s https://<server url>/chocolatey -ApiKey <your API key>