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

Nix执行命令提示找不到libstdc++.so.6共享库问题咨询

Nix环境缺失libstdc++.so.6报错解决方案

核心问题解答

Nix 不会默认提供全局可用的libstdc++,这是Nix隔离式依赖设计的正常表现:所有依赖都只会在对应包的构建/运行环境中按需注入,不会直接暴露到全局系统路径下,避免出现依赖版本冲突。

报错原因

此前运行正常近期才出现报错,通常是以下几种情况导致:

  • 近期清理Nix Store时,删除了之前被其他包依赖、顺带在环境中可用的libstdc++对应包版本
  • 修改了shell配置,移除了此前手动添加的Nix库路径导入规则
  • 升级了Nix版本或nixpkgs分支,对应环境的默认依赖配置发生了变动

修复方案

单次命令临时修复

运行命令时主动将gcc(自带libstdc++运行库)加入依赖即可:

nix-shell -p gcc nix-info --run "nix-info"

项目nix-shell永久修复

在项目的shell.nix或flake.nix的buildInputs配置项中添加stdenv.cc.cc.lib依赖,后续进入nix-shell时会自动将libstdc++的库路径注入到环境变量中,运行程序不会再报缺失错误。

全局环境修复(不推荐,会破坏Nix隔离性)

如果需要全局所有Nix相关命令都能找到libstdc++,可以在你的shell配置文件(~/.bashrc/~/.zshrc等)末尾添加如下配置:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(nix-build '<nixpkgs>' -A gcc.cc.lib)/lib

内容的提问来源于stack exchange,提问作者unhammer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:27:02