0

我正在尝试使用 vagrant 和 Chocolatey 的组合来配置全新的 Windows 2012 Server Core 机器。所以我有一个 powershell 配置脚本,它在基本盒子上的 Vagrant(作为管理员)帐户下运行。

要安装 Chocolatey,我运行以下命令作为 powershell 配置脚本的第一行:

iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

我还将chocolateys bin目录添加到路径中,以便powershell可以访问它而无需通过调用重新启动shell:

$env:Path += ";C:\ProgramData\Chocolatey\bin"

它可以很好地安装 Chocolatey,然后在接下来的步骤中使用“choco install”来安装其余所需的软件。

所有 choco 安装失败:

Unable to read package from path

现在这似乎是一个 NUGET 错误(scriptcs - Unable to read packagehttps://github.com/chocolatey/chocolatey/issues/325),解决方法是清除 NUGET 缓存。

但这是一个全新的盒子,在我安装巧克力包之前,它有一个空的 NUGET 缓存——所以这里没有包冲突。我已经尝试添加代码以首先清除缓存文件夹,但这没有影响,导致它的空白以(全新的盒子)开始。

如果我登录到机器并从 powershell 手动运行配置脚本,我会得到相同的结果 - 根本没有安装任何包,所有包都失败并显示相同的错误消息。

有没有人知道这里可能发生了什么?任何帮助表示赞赏。

4

1 回答 1

1

最终将其追踪到我们的防火墙进行应用程序级别检查并发送 HTTP 307 响应。对防火墙之神说得很好,这个问题就消失了。对于那些遇到类似情况的人来说,托管一个巧克力镜子也行不通。您的原始包会很好,但如果它需要下载可执行文件或其他外部包,那么该包将失败。

于 2014-10-07T13:10:43.560 回答