首页 > 解决方案 > 升级到 macOS Catalina 后出现“zsh: command not found: dotnet-svcutil”

问题描述

按照建议将我的 macOS 升级到 10.15 (Catalina) 并从 bash 切换到 zsh后,我尝试svcutil从终端启动(或任何其他 .NET Core 工具),但我收到以下错误消息:

zsh:找不到命令:dotnet-svcutil

奇怪,因为~/.dotnet/tools在检查路径时提到了它的位置(默认安装 .NET Core 工具的位置)echo $PATH。我该如何解决这个问题?

标签: .net-corezshmacos-catalina

解决方案


如前所述 zsh 不支持~路径。.NET Core 工具的路径条目在安装期间添加为/etc/paths.d/dotnet-cli-tools带有路径条目的文件~/.dotnet/tools。将其更改为$HOME/.dotnet/tools${HOME}/.dotnet/tools没有帮助,但将其更改为实际路径(例如/Users/Glorfindel/.dotnet/tools)就可以了。

另一种选择是重新安装该工具,例如

dotnet tool uninstall --global dotnet-svcutil
dotnet tool install --global dotnet-svcutil

安装程序会告诉你以下,我没试过:

工具目录“/Users/Glorfindel/.dotnet/tools”当前不在 PATH 环境变量中。
如果您使用的是 zsh,则可以通过运行以下命令将其添加到您的配置文件中:

cat << \EOF >> ~/.zprofile
# Add .NET Core SDK tools
export PATH="$PATH:/Users/Glorfindel/.dotnet/tools"
EOF

并运行zsh -l以使其可用于当前会话。

您只能通过运行以下命令将其添加到当前会话:

export PATH="$PATH:/Users/Glorfindel/.dotnet/tools"

推荐阅读