【问题标题】:I cannot install packages with Chocolatey我无法使用 Chocolatey 安装软件包
【发布时间】:2021-08-28 17:40:59
【问题描述】:
【问题讨论】:
标签:
installation
chocolatey
【解决方案1】:
很可能是因为您是从命令提示符执行此操作,并将包名称包含在单引号中。删除单引号,它应该可以工作。如果这不起作用或者您使用 PowerShell 作为 CLI,请继续阅读一些配置故障排除步骤。
检查包是否存在于您配置的存储库之一中:
choco list packageName
其中packageName 是您要安装的软件包的名称。如果您收到回复,请仔细检查您传递给choco list 的包名称是否正确;有时软件包名称可能不同,但仍会根据您使用的搜索词进行标记。
如果您没有得到任何点击,请仔细检查 online portal 包是否确实存在。并非所有东西都有 Chocolatey 包,它们通常由第三方志愿者维护。如果您在此处找到软件包,请尝试使用他们提供的命令进行安装(软件包信息页面将包含复制/粘贴安装命令)。
如果它仍然不起作用但您已确认该软件包存在,请确保您已配置公共仓库(如果这是非公共软件包,则为内部仓库,但显然我不会有那个 URL这里):
choco sources
这应该列出系统上配置的所有存储库。假设您正在寻找一个公共包,您应该会看到返回的 chocolatey 存储库类似于以下内容(此处的 URL 很重要):
chocolatey - https://chocolatey.org/api/v2/ | Priority 0|Bypass Proxy - False|Self-Service - False|Admin Only - False.
如果此处未显示公共 repo,或者您在 repo 名称后面看到 [Disabled],请按如下方式修复:
-
如果禁用:
# If the repo is not named chocolatey, use the repo name returned by the choco sources command
choco source enable -n chocolatey
-
如果根本不存在:
choco source add -n chocolatey -s 'https://chocolatey.org/api/v2/'
如果这些都不起作用,则问题可能与网络或其他基础设施有关。依赖公共回购的弱点之一是它会在美国的非工作时间定期离线。这就是为什么我们在工作中不依赖公共 repo,或者使用 squid 代理我们需要的那些,或者在我们自己的私人 feed 中维护我们自己的包。