编译colorls时缺失开发工具,求助排查依赖问题
解决Linux Mint 21.1上
colorls安装失败(无法构建原生扩展)的问题 1. 补全Ruby开发核心依赖
你当前安装的依赖可能不全,执行以下命令安装完整的Ruby构建环境:
sudo apt update sudo apt install build-essential ruby-full ruby-dev zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
2. 清理gem缓存后重新安装
缓存残留可能导致异常,先清理再执行安装:
sudo gem cleanup sudo gem install colorls --no-document
3. 定位mkmf.log中的具体缺失项
如果仍失败,直接提取日志里的关键错误信息:
cat $(gem env gemdir)/extensions/x86_64-linux/$(ruby -e 'puts RUBY_VERSION')/colorls-*/mkmf.log | grep -E "error|missing"
根据输出的缺失库名称,用sudo apt install <缺失库名>单独安装。
4. 用bundler管理依赖安装(可选)
若以上方法无效,尝试通过bundler安装:
sudo gem install bundler mkdir -p ~/temp-colorls && cd ~/temp-colorls echo "gem 'colorls'" > Gemfile bundle install --path vendor/bundle # 将colorls链接到全局可执行路径 sudo ln -s ~/temp-colorls/vendor/bundle/ruby/$(ruby -e 'puts RUBY_VERSION.split(".")[0..1].join(".")')/bin/colorls /usr/local/bin/
内容的提问来源于stack exchange,提问作者McPringle
相关产品推荐
相关产品推荐

