问题:在 ubuntu22.04 一通骚操作后,dotnet 命令行居然不能用了,连最基本的 dotnet --info 都报错。
具体错误信息:
$ dotnet --info
A fatal error occurred. The folder [/usr/share/dotnet/host/fxr] does not exist
感觉莫名其妙啊,手动创建文件夹后,继续报错:
$ dotnet --info
A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders
解决1:卸载重装
卸载
sudo apt-get remove dotnet* -y
重装
sudo apt-get install dotnet6 -y
问题依旧
解决2:手动安装
卸载
sudo apt-get remove dotnet* -y
sudo apt-get remove aspnet* -y
清理
$ whereis dotnet
dotnet: /usr/bin/dotnet /usr/lib/dotnet /usr/share/dotnet /usr/share/man/man1/dotnet.1.gz
$ sudo rm -rf /usr/bin/dotnet /usr/lib/dotnet /usr/share/dotnet /usr/share/man/man1/dotnet.1.gz
下载
wget
https://download.visualstudio.microsoft.com/download/pr/8159607a-e686-4ead-ac99-b4c97290a5fd/ec6070b1b2cc0651ebe57cf1bd411315/dotnet-sdk-6.0.401-linux-x64.tar.gz
速度还可以
dotnet-sdk-6.0.401-linux-x64.tar.gz 45%[=================================================> ] 79.97M 2.79MB/s eta 36s
解压
tar -zxvf dotnet-sdk-6.0.401-linux-x64.tar.gz -C /path/to/dotnet
设置环境变量
export DOTNET_ROOT=$(pwd)/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
验证
$ dotnet --info
.NET SDK (reflecting any global.json):
Version: 6.0.401
Commit: 0906eae6f8
Runtime Environment:
OS Name: ubuntu
OS Version: 22.04
OS Platform: Linux
RID: ubuntu.22.04-x64
Base Path: /opt/sdk/dotnet/sdk/6.0.401/
global.json file:
Not found
Host:
Version: 6.0.9
Architecture: x64
Commit: 163a63591c
.NET SDKs installed:
6.0.401 [/opt/sdk/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.9 [/opt/sdk/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.9 [/opt/sdk/dotnet/shared/Microsoft.NETCore.App]
Download .NET:
https://aka.ms/dotnet-download
Learn about .NET Runtimes and SDKs:
https://aka.ms/dotnet/runtimes-sdk-info
完美解决!!!