Cake build.ps1安装Cake失败

本文关键字:Cake 失败 安装 ps1 build | 更新日期: 2023-09-27 18:00:58

我们使用Cakebuild.net 提供的标准build.ps1 PowerShell脚本

它在CI和开发人员机器上都运行得很好,但对于我们的一名开发人员来说,我们在启动build.ps1 时会出现以下错误

Unable to find package 'Cake'

然后退出,检查工具文件夹中是否安装了Cake。

Cake build.ps1安装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控制台,则应在repo工具文件夹中可用(

nuget sources list

然后,它应该列出nuget.org的v2和/或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添加到存储库的根目录中。