我正在尝试使用 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 package和https://github.com/chocolatey/chocolatey/issues/325),解决方法是清除 NUGET 缓存。
但这是一个全新的盒子,在我安装巧克力包之前,它有一个空的 NUGET 缓存——所以这里没有包冲突。我已经尝试添加代码以首先清除缓存文件夹,但这没有影响,导致它的空白以(全新的盒子)开始。
如果我登录到机器并从 powershell 手动运行配置脚本,我会得到相同的结果 - 根本没有安装任何包,所有包都失败并显示相同的错误消息。
有没有人知道这里可能发生了什么?任何帮助表示赞赏。