【问题标题】:"zsh: command not found: dotnet-svcutil" after upgrading to macOS Catalina升级到 macOS Catalina 后出现“zsh: command not found: dotnet-svcutil”
【发布时间】:2019-10-10 10:15:15
【问题描述】:
按照建议将我的 macOS 升级到 10.15 (Catalina) 和 switching from bash to zsh 后,我尝试从终端启动 svcutil(或任何其他 .NET Core 工具),但我得到以下信息错误信息:
zsh:找不到命令:dotnet-svcutil
奇怪,因为在使用echo $PATH 检查路径时提到了它的位置(~/.dotnet/tools,默认安装 .NET Core 工具的位置)。我该如何解决这个问题?
【问题讨论】:
标签:
.net-core
zsh
macos-catalina
【解决方案1】:
如here 所述,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"
【解决方案2】:
我遇到了类似的问题,并通过从终端执行以下操作来解决它:
将~/.bash_profile的内容复制到~/.zshrc
- 打开一个终端窗口并输入
nano ~/.bash_profile
- 选择该文件中的代码并复制它
- 打开另一个终端窗口并输入
nano ~/.zshrc
- 粘贴并保存文件
重新打开 VSCode,它应该可以工作。它对我有用!