Pop!_OS 21.04安装mono-complete后提示mono: command not found怎么办
问题核心原因
- 发行版版本不匹配:按照Ubuntu 20.04(代号focal)的指引配置Mono源,但实际系统为Pop!_OS 21.04(代号hirsute),Mono官方源对不同Ubuntu版本的包结构不同,错误的源配置会导致apt安装的
mono-complete为无实际可执行文件的空依赖包,不会部署mono二进制程序 - 非LTS版本适配缺失:Ubuntu 21.04属于已停止支持的非LTS版本,Mono官方对该版本的包维护状态特殊,错误配置源时默认不会拉取到实际的可执行文件组件
排查步骤
- 验证当前Mono源配置是否错误,执行命令查看源文件内容:
cat /etc/apt/sources.list.d/mono-official-stable.list
若配置错误,输出内容中的版本代号会是focal,而非系统对应的hirsute - 验证
mono-complete包的实际安装内容,执行命令:dpkg -L mono-complete
如果该包为空依赖,输出仅会包含版权说明文件,不会出现/usr/bin/mono这类可执行文件路径
解决方法
方案一:切换适配Hirsute版本的Mono源(优先尝试)
- 删除现有错误的Mono源
sudo rm /etc/apt/sources.list.d/mono-official-stable.list - 导入Mono官方公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF - 写入对应hirsute版本的源配置
echo "deb https://download.mono-project.com/repo/ubuntu stable-hirsute main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list - 更新apt缓存并重新安装mono-complete
sudo apt update && sudo apt install --reinstall mono-complete - 安装完成后验证功能
mono --version
方案二:使用Snap安装(官方源不可用时备选)
如果官方源已无法拉取hirsute版本的安装包,可直接安装Snap预编译版本:sudo snap install mono-complete --classic
安装完成后执行mono --version验证即可。
内容的提问来源于stack exchange,提问作者James Haller
相关产品推荐
相关产品推荐

