概述

最近在对机房的编译环境做整理,过程曲折而痛苦,记录一下。

之前的一个老项目,在打包的时候用到了一个叫做fpm的工具。

编译环境涉及centos6和centos7,在新的编译环境的过程中,如何安装好fpm。

环境

centos6

centos7

安装过程的俄罗斯套娃

我们尝试在一个新的服务器上部署编译打包环境。

部署打包环境,打包脚本中用到了fpm(1)工具。

安装fpm工具,网上搜了一下,centos上安装fpm打包工具的流程, 大都是通过yum安装“ruby(2) rubygems ruby-devel”,再通过gem(3)安装fpm。

但是,在使用gem安装fpm的过程中,要求ruby版本大于2.4(yum安装的ruby-1.8.7)。

好吧,升级ruby,网上又让我们安装rvm(4)来管理升级ruby版本。。。

继续,rvm官网说这个很容易(Cut Rubies with ease!),然后第一条“gpg2”命令各种报错。。。

gpgkeys: HTTP fetch error 6: Couldn't resolve host 'keys.gnupg.net'

gpg这个错误搜了半天也没见什么靠谱的解决办法,完全的认知盲区。

休息一会,整理思路。

回到ruby本身的问题,在ruby的官网下载了源码安装。

可用的安装步骤

fpm打包过程中会用到rpmbuild工具,需要yum安装rpmdevtools。

sudo yum install rpmdevtools

删除yum源安装的老版本ruby。

sudo yum remove ruby ruby-devel rubygems

从ruby官网下载ruby-2.5.9版本的源代码包。

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.9.tar.gz

编译安装。

tar -zxvf ruby-2.5.9.tar.gz

cd ruby-2.5.9

./configure

make

sudo make install

建立软连接,否则sudo的时候会找不到gem命令,或者找到的gem版本不对。

sudo ln -s /usr/local/bin/gem /usr/bin/gem

ruby -v

gem -v

使用gem安装fpm,指定版本1.9.3是因为老的编译环境保持一致。

sudo gem install fpm -v 1.9.3

sudo ln -s /usr/local/bin/fpm /usr/bin/fpm

fpm -v

总结

网上各种文档和解决方案并不完善,即便当时看起来是完善的,也会随着时间的推移慢慢变得无法使用。

这是一件所有技术人都会头秃的事情。

ruby的源代码编译安装还比较简单顺利。

ruby2.5.9版本也已经过了维护期。

空空如常

求真得真

最新文章

  1. printf和scanf
  2. NOI 题库 8465
  3. ATL 获取flash信息
  4. CSS隐藏元素的N种实现方式。
  5. Android 手机卫士9--短信备份
  6. C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例
  7. [Android界面] 这样的选择器怎么实现?? 充值选择
  8. 响应式web设计读书笔记
  9. int integer string间的转换
  10. win8找到程序员计算器
  11. python调用Moxa PCOMM Lite通过串口Ymodem协议发送文件
  12. Java基础—异常处理总结
  13. Unix/Linux环境C编程入门教程(35) 编程管理系统中的组
  14. 6步就能搞出个react网站哈,玩一把!
  15. 通过自定义的URL Scheme启动你的App
  16. Linux apache的运行用户和用户组
  17. JS学习笔记Day9
  18. jQuery中 对标签元素操作(1)
  19. Python云端系统开发入门 pycharm代码
  20. springboot 学习

热门文章

  1. Blazor组件自做九: 用20行代码实现文件上传,浏览目录功能 (3)
  2. 我们可以定向调度某个pod在某个node上进行创建
  3. AgileConfig 1.6.0 发布 - 支持服务注册与发现
  4. keytools命令生成证书
  5. SIP信令跟踪工具HOMER
  6. Divan and bitwise operations
  7. python相关知识理解
  8. 【虚拟机】VMware-open-vm-tools安装
  9. JavaWeb和WebGIS学习笔记(五)——使用OpenLayers显示地图
  10. vue项目中cookie的使用