Cake build.ps1 安装 Cake 失败

Cake build.ps1 fails to install Cake

我们使用标准构建。ps1 PowerShell 脚本由 Cakebuild.net

提供

它在 CI 和开发人员机器上都运行良好,但是对于我们的一位开发人员,我们在启动构建时遇到以下错误。ps1

Unable to find package 'Cake'

然后退出,检查tools文件夹没有安装Cake。

您遇到的错误是因为 NuGet 控制台无法在计算机上配置的源中找到 Cake 包。

您可以通过更改 build.ps

中的以下行来测试该理论
$NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`""

$NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`" -Source `"https://www.nuget.org/api/v2`""

如果这样的话,您同事的机器可能缺少标准 nuget.org 提要,或者在他的机器上禁用了标准提要。

您可以像这样使用 NuGet 控制台列出您配置的源(如果路径中没有 nuget 控制台,它应该在回购工具文件夹中可用 )

nuget sources list

然后它应该列出 nuget.org 的 v2 and/or v3 提要,它们后面应该有文本 [Enabled],如下所示

Registered Sources:

  1.  https://www.nuget.org/api/v2/ [Enabled]
      https://www.nuget.org/api/v2/
  2.  https://api.nuget.org/v3/index.json [Enabled]
      https://api.nuget.org/v3/index.json

如果它们已列出但被禁用,您可以通过键入

来启用它们
nuget source enable -Name https://www.nuget.org/api/v2/

nuget source enable -Name  https://api.nuget.org/v3/index.json

根据您注册和禁用的供稿,如果缺少源,您可以通过键入

添加它们
nuget sources add -Name https://www.nuget.org/api/v2/ -Source  https://www.nuget.org/api/v2/

设置存储在 %AppData%\NuGet\NuGet.config 中,因此您可以手动编辑该文件,以确保团队中的每个人都使用相同的源,您可以在 nuget 尝试时将 NuGet.config 添加到存储库的根目录在路径中找到配置,然后回退到应用程序数据。