zsh:找不到命令:dotnet-ef

Posted

技术标签:

【中文标题】zsh:找不到命令:dotnet-ef【英文标题】:zsh: command not found: dotnet-ef 【发布时间】:2021-12-21 22:59:16 【问题描述】:

我在 mac 中使用带有 Visual Studio 代码或 Rider 的 asp.net core 2.1。我已经在 mac 上安装了 2.1 sdk,同时使用以下命令

dotnet-ef database update --project XXXX.XXXX

我得到一个例外

zsh: command not found: dotnet-ef

使用命令

dotnet tool install --global dotnet-ef

Tool 'dotnet-ef' is already installed. 获得异常

然后使用这个命令dotnet tool restore

error NU3037: Package 'dotnet-ef 3.1.1' from source 'https://api.nuget.org/v3/index.json': The repository countersignature validity period has expired.

Package "dotnet-ef" failed to restore, due to Microsoft.DotNet.ToolPackage.ToolPackageException: The tool package could not be restored.

【问题讨论】:

【参考方案1】:

对于mac我需要导出下面的路径

export PATH="$PATH:$HOME/.dotnet/tools/"

【讨论】:

【参考方案2】:

是的,举个错误的例子:

$ 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 试图找到一个 dotnet-ef 命令但它找不到它。正如第三点所说,dotnet-ef 不在你的路上。

documentation 是这么说的:

Global tools can be installed in the default directory or in a specific location. The default directory is:

OS Path

Linux/macOS $HOME/.dotnet/tools

Windows %USERPROFILE%\.dotnet\tools

因此,您应该将 $HOME/.dotnet/tools/ 添加到您的 $PATH。

对于 Linux 和 macOS,在 shell 配置中添加一行:

bash/zsh:

export PATH="$PATH:$HOME/.dotnet/tools/"

当您启动一个新的 shell/终端(或下次登录)时,dotnet ef 应该可以工作。

对于 Windows:

您需要将 %USERPROFILE%.dotnet\tools 添加到 PATH。

【讨论】:

【参考方案3】:

我正在使用 asp.net core 6.0 zhengguo@macdeMac-min % echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools :/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands

PATH 已经存在 ~/.dotnet/tools 当我使用 dotnet aspnet-codegenerator 时,它可以工作。 dotnet-aspnet-codegenerator 不工作。

【讨论】:

以上是关于zsh:找不到命令:dotnet-ef的主要内容,如果未能解决你的问题,请参考以下文章

zsh:找不到命令 laravel

zsh:找不到命令:php

zsh:找不到命令:macOS 上的 mkfs

如何修复“zsh:找不到命令:vue”?

在 zsh 中安装 npm 后找不到命令

zsh:找不到命令:react-native - MacOS