You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下安装cargo与librespot时依赖冲突问题求助

Ubuntu下安装cargo与librespot时依赖冲突问题求助

你好呀!作为刚接触Ubuntu的新手遇到这种依赖问题确实挺头疼的,我来帮你一步步分析解决~

问题根源

从你给出的报错信息来看,核心矛盾是:系统里的libc6已经更新到了2.35-0ubuntu3.1版本,但libc6-dev(也就是你要装的libc-dev的实际对应包)还需要匹配旧版本2.35-0ubuntu3的libc6,再加上系统存在损坏锁定的包,导致整个依赖链卡住了。

解决方法

方法一:先修复系统包管理的损坏状态

这是最基础的第一步,先让包管理恢复正常:

  1. 刷新软件源缓存,确保获取最新的包信息:
    sudo apt update
    
  2. 自动修复损坏的依赖关系:
    sudo apt --fix-broken install
    
  3. 如果上面的命令还没解决,再试试这个强制修复的命令:
    sudo apt-get install -f
    

完成后再尝试重新安装cargo:sudo apt install cargo,看看是否能正常安装。

方法二:手动安装匹配版本的依赖包

如果方法一无效,我们可以手动指定版本来让libc6和libc6-dev版本匹配:

  1. 先查看当前libc6的状态,确认是否被锁定:
    dpkg -l | grep libc6
    
    如果输出里有hold标记,说明这个包被锁定了,先解锁:
    sudo apt-mark unhold libc6
    
  2. 安装匹配版本的libc6和libc6-dev:
    sudo apt install libc6=2.35-0ubuntu3 libc6-dev=2.35-0ubuntu3
    
  3. 安装完成后再尝试安装cargo:
    sudo apt install cargo
    

⚠️ 注意:libc6是系统核心库,降级可能会影响其他软件的运行,所以这个方法谨慎使用,如果方法一能解决就优先用方法一。

方法三:使用官方rustup安装cargo(推荐!)

其实rust官方推荐用rustup来安装rust和cargo,这种方式完全独立于系统的包管理,不会和系统的依赖产生冲突,步骤也很简单:

  1. 打开终端,运行官方安装脚本:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    按照提示选择默认安装(直接按回车就行)。
  2. 安装完成后,需要让终端加载cargo的环境变量,要么重启终端,要么运行:
    source $HOME/.cargo/env
    
  3. 现在你就可以直接用cargo安装librespot了:
    cargo install librespot
    

这个方法是最省心的,以后升级rust/cargo也很方便,推荐新手使用~

备注:内容来源于stack exchange,提问作者zoynus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:49:53