我们使用Cakebuild.net提供的标准build.ps1 PowerShell脚本
它在CI和开发人员计算机上都很出色,但对于我们的一个开发人员,我们在启动build.ps1时遇到以下错误
Unable to find package 'Cake'
然后退出,检查工具文件夹,没有安装Cake。
答案 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尝试查找配置在路径中然后回退到应用数据。