Linux Mint 21中无法运行dotnet ef命令的技术求助
dotnet ef 命令提示找不到.NET运行时的解决方法
环境配置
Linux系统
- 发行版:Linux Mint 21(代号vanessa)
.NET SDK
- 版本:6.0.402,安装路径:
/home/gilmar/.dotnet/sdk
.NET运行时
Microsoft.AspNetCore.App 6.0.10,路径:/home/gilmar/.dotnet/shared/Microsoft.AspNetCore.AppMicrosoft.NETCore.App 6.0.10,路径:/home/gilmar/.dotnet/shared/Microsoft.NETCore.App
.NET全局工具
ID do Pacote Versão Comandos --------------------------------------- dotnet-ef 6.0.10 dotnet-ef
问题现象
执行dotnet ef、dotnet-ef等相关命令时,触发如下错误:
You must install .NET to run this application. App: /home/gilmar/.dotnet/tools/dotnet-ef Architecture: x64 App host version: 6.0.10 .NET location: Not found Learn about runtime installation: https://aka.ms/dotnet/app-launch-failed Download the .NET runtime: https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=linuxmint.21-x64&apphost_version=6.0.10
已在.bashrc中配置路径:
export PATH="$PATH:$HOME/.dotnet" export PATH="$PATH:$HOME/.dotnet/tools/"
whereis命令确认文件路径存在:
gilmar@hp ~ $ whereis dotnet dotnet: /home/gilmar/.dotnet/dotnet gilmar@hp ~ $ whereis dotnet-ef dotnet-ef: /home/gilmar/.dotnet/tools/dotnet-ef
dotnet restore、dotnet new、dotnet build等基础命令可正常执行。
解决方案
1. 补充DOTNET_ROOT环境变量
编辑.bashrc文件,添加DOTNET_ROOT指定.NET安装根目录,确保工具能定位到运行时:
export DOTNET_ROOT="$HOME/.dotnet" export PATH="$PATH:$DOTNET_ROOT" export PATH="$PATH:$DOTNET_ROOT/tools"
执行以下命令使配置立即生效:
source ~/.bashrc
之后重新运行dotnet ef测试。
2. 重装dotnet-ef工具
先卸载现有工具:
dotnet tool uninstall --global dotnet-ef
再重新安装对应版本的工具:
dotnet tool install --global dotnet-ef --version 6.0.10
安装完成后执行dotnet ef验证。
3. 指定正确的RID环境变量
Linux Mint 21基于Ubuntu 22.04,对应的RID为ubuntu.22.04-x64,临时设置环境变量测试:
export DOTNET_RID=ubuntu.22.04-x64
之后运行dotnet ef,若有效可将该配置添加到.bashrc中。
4. 修复.NET运行时完整性
执行以下命令检查运行时状态:
dotnet --info
若输出中运行时信息缺失,重新使用官方脚本安装对应版本的运行时:
./dotnet-install.sh --version 6.0.402 --runtime aspnetcore ./dotnet-install.sh --version 6.0.402 --runtime dotnet
内容的提问来源于stack exchange,提问作者gilrsantana
相关产品推荐
相关产品推荐

