Cake build.ps1无法安装Cake

时间:2016-08-05 15:07:09

标签: c# cakebuild

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

它在CI和开发人员计算机上都很出色,但对于我们的一个开发人员,我们在启动build.ps1时遇到以下错误

Unable to find package 'Cake'

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

1 个答案:

答案 0 :(得分:4)

您得到的错误是因为NuGet控制台无法在计算机上配置的Feed中找到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

取决于您注册的Feed和&禁用,如果缺少源,则可以通过键入

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

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