按Scala官方指南安装Coursier时遇GLIBC版本缺失问题
解决Ubuntu 20.04下安装Scala时GLIBC版本不兼容问题
问题背景
执行Scala官方文档提供的安装命令:
curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
触发GLIBC版本缺失错误:
./cs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./cs) ./cs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./cs)
环境信息:双系统Windows+Ubuntu 20.04.5 LTS,系统GLIBC版本为2.31,Java版本为OpenJDK 11.0.17。已尝试修复依赖、重装libc6、手动安装高版本libc6 deb包,均未解决问题。
可行解决方案
方案1:使用静态编译版Coursier Launcher
官方默认的cs launcher依赖高版本GLIBC,改用静态编译版本可绕过系统GLIBC限制:
curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux-static.gz | gzip -d > cs && chmod +x cs && ./cs setup
静态版本不依赖系统GLIBC库,可直接执行安装流程。
方案2:通过SDKMAN安装Scala
SDKMAN是JVM语言工具的专用包管理器,会自动处理依赖兼容问题:
- 安装SDKMAN:
curl -s "https://get.sdkman.io" | bash
- 初始化SDKMAN(重启终端或执行以下命令):
source "$HOME/.sdkman/bin/sdkman-init.sh"
- 安装Scala:
sdk install scala
安装完成后执行scala -version验证即可。
方案3:手动安装Scala二进制包
若不想使用包管理器,可直接下载二进制包手动配置:
- 下载对应版本的Scala二进制压缩包(官网提供2.13.x、3.x等分支)
- 解压到目标目录,例如
/opt/scala:
sudo tar -zxf scala-*.tar.gz -C /opt/ sudo ln -s /opt/scala-* /opt/scala
- 配置环境变量,编辑
~/.bashrc或~/.zshrc:
export SCALA_HOME=/opt/scala export PATH=$SCALA_HOME/bin:$PATH
- 生效配置并验证:
source ~/.bashrc scala -version
注意事项
Ubuntu 20.04作为LTS版本,官方不会推送GLIBC 2.32及以上版本的更新,强行替换系统GLIBC会导致依赖冲突、系统崩溃等问题,因此不建议尝试手动升级libc6。
内容的提问来源于stack exchange,提问作者aleen
相关产品推荐
相关产品推荐

