无法通过 apt 在 Ubuntu 上安装 .NET 10?这里有一个真正可行的解决方案
Source: Dev.to
TL;DR
dotnet-sdk-10.0可能尚未通过apt提供,具体取决于所在地区。- 这属于 APT 仓库同步的延迟,而不是系统配置错误。
- 微软官方的安装脚本是受支持的解决方案。
- 安装 SDK 时会同时安装运行时。
- 可以安全地让 .NET 8、9、10 并存。
问题描述:apt 仍然找不到 .NET 10(暂时)
即使已经配置了微软的 Ubuntu 仓库(https://packages.microsoft.com/ubuntu/24.04/prod),安装 SDK 仍然失败:
sudo apt-get update
sudo apt-get install dotnet-sdk-10.0
结果:
E: Unable to locate package dotnet-sdk-10.0
为什么会出现这种情况
微软会在各个镜像和地区逐步推送 APT 包。因此:
- 有些用户可以立即安装 .NET 10。
- 另一些用户则暂时看不到该包。
apt 无法安装尚未同步到所在镜像的包。可以使用以下命令检查可用性:
apt-cache policy dotnet-sdk-10.0
如果返回 “Unable to locate package”,说明该 SDK 仍未在你的镜像中。
解决方案:使用微软官方的安装脚本
在 APT 包到达你的地区之前,使用微软提供的脚本进行安装:
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 10.0
脚本会把 .NET 10 安装到 $HOME/.dotnet 目录下。
重要提示:设置环境变量
使用脚本安装后,需要把 .NET 加入 PATH:
# 添加到 ~/.bashrc 或 ~/.zshrc
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
重新加载 shell:
source ~/.bashrc # 或 source ~/.zshrc
验证安装
dotnet --list-sdks
预期输出(示例):
10.0.101 [/home/youruser/.dotnet/sdk]
与 .NET 8、.NET 9 并存
通过上述方式安装的 .NET 10 不会 干扰已有的安装。你可以同时拥有:
- 通过
apt安装的 .NET 8 - 通过
apt安装的 .NET 9 - 通过脚本安装的 .NET 10
当 dotnet-sdk-10.0 在你的地区通过 apt 可用后,可切换回完整的包管理方式。
最后说明
- 如果在 Ubuntu 24.04 上
apt找不到 .NET 10,并不是系统配置错误。 - 只是该包尚未同步到你的镜像。
- 微软官方的安装脚本安全、受支持,并且是一个可靠的临时解决方案。
等到 APT 包在你的地区可用后,就可以恢复使用 apt 安装 .NET 10。