Ubuntu 16.04 环境下安装 fpm 失败求助
解决Ubuntu 16.04安装fpm失败的问题
我之前在Ubuntu 16.04环境下折腾fpm安装时也碰到过类似的坑,结合你说的情况——之前正常、没改apt源、已经装了一堆依赖还是失败,给你几个实际可行的排查方向:
先排查Ruby环境和gem源
Ubuntu 16.04默认的Ruby版本是2.3.x,虽然fpm理论上支持这个版本,但有些依赖包可能对Ruby版本有隐性要求。先确认当前Ruby版本:ruby -v同时检查gem源是否正常,有时候官方源会抽风:
gem sources -l如果是官方源,试试换成国内镜像源:
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/另外记得更新gem到最新版本:
sudo gem update --system补全容易遗漏的编译依赖
你已经装了build-essential这些,但可能漏了libssl-dev——很多Ruby扩展编译都需要这个依赖,试试安装:sudo apt-get install -y libssl-dev安装完成后再重新尝试安装fpm:
sudo gem install fpm清理gem缓存,避免损坏的缓存导致失败
有时候gem的缓存文件损坏也会导致安装失败,执行清理命令:gem clean清理完成后再重新安装fpm。
用bundler管理依赖(终极兜底方案)
如果上面的方法都不行,试试用bundler来安装,它会更严格地处理依赖关系:- 先安装bundler:
sudo gem install bundler - 创建一个临时目录,新建
Gemfile文件,内容如下:gem 'fpm' - 在该目录下执行:
bundle install
安装完成后,就可以通过
bundle exec fpm来使用工具了。- 先安装bundler:
如果还是失败,建议执行安装命令时加上--verbose参数,查看详细的错误日志:
gem install fpm --verbose
从日志里能看到具体是哪个环节出错(比如某个依赖编译失败),再针对性解决会更高效。
内容的提问来源于stack exchange,提问作者adifire
相关产品推荐
相关产品推荐

