MAC 上的 dotnet 工具安装 --global dotnet-ef --version 3.0.0 导致未知的 Nuget 错误
dotnet tool install --global dotnet-ef --version 3.0.0 on MAC causes unknown Nuget Error
在我的 Web API 项目中升级到 .Net Core 3.1 后,我尝试了这个常用的 ef 命令 -
dotnet ef
得到:
Could not execute because the specified command or file was not found.
Possible reasons for this include:
* You misspelled a built-in dotnet command.
* You intended to execute a .NET Core program, but dotnet-ef does not exist.
* You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
然后发现这个 -
因此,尝试过:
dotnet tool install --global dotnet-ef --version 3.0.0
得到:
/usr/local/share/dotnet/sdk/3.1.100/NuGet.targets(123,5): error : Unable to load the service index for source https://api.nuget.org/v2/index.json
/usr/local/share/dotnet/sdk/3.1.100/NuGet.targets(123,5): error : Response status code does not indicate success: 400 (Bad Request).
The tool package could not be restored.
Tool 'dotnet-ef' failed to install. This failure may have been caused by: ...
如何修复?
找到这个 -
所以,然后在 MAC -
上打开了 Nuget.config
~/.nuget/Nuget/Nuget.config
并删除了其中的所有网址。
重新运行
dotnet tool install --global dotnet-ef --version 3.0.0
工作:)
在 VS 中为 MAC 项目重新使用 NUGET(只是添加了任何 Nuget),我只剩下
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<packageSources>
</configuration>
终于意识到使用了ef tools 3.0.0,于是更新完ef tools -
dotnet 工具更新 --global dotnet-ef
在我的 Web API 项目中升级到 .Net Core 3.1 后,我尝试了这个常用的 ef 命令 -
dotnet ef
得到:
Could not execute because the specified command or file was not found.
Possible reasons for this include:
* You misspelled a built-in dotnet command.
* You intended to execute a .NET Core program, but dotnet-ef does not exist.
* You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
然后发现这个 -
因此,尝试过:
dotnet tool install --global dotnet-ef --version 3.0.0
得到:
/usr/local/share/dotnet/sdk/3.1.100/NuGet.targets(123,5): error : Unable to load the service index for source https://api.nuget.org/v2/index.json
/usr/local/share/dotnet/sdk/3.1.100/NuGet.targets(123,5): error : Response status code does not indicate success: 400 (Bad Request).
The tool package could not be restored.
Tool 'dotnet-ef' failed to install. This failure may have been caused by: ...
如何修复?
找到这个 -
所以,然后在 MAC -
上打开了 Nuget.config~/.nuget/Nuget/Nuget.config
并删除了其中的所有网址。
重新运行
dotnet tool install --global dotnet-ef --version 3.0.0
工作:)
在 VS 中为 MAC 项目重新使用 NUGET(只是添加了任何 Nuget),我只剩下
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<packageSources>
</configuration>
终于意识到使用了ef tools 3.0.0,于是更新完ef tools -
dotnet 工具更新 --global dotnet-ef