概述

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

之前的一个老项目,在打包的时候用到了一个叫做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版本也已经过了维护期。

空空如常

求真得真

fpm工具安装的更多相关文章

  1. centos 6.5 + php5.5.31 fastcgi (fpm) 编译安装

    yum intsall zlib zlib-devel //gzip 压缩和解压 yum install openssl openssl-devel yum install libxml2 libxm ...

  2. FPM工具 实战定制nginx包

    FPM主要特点: 把一种包打包成另一种包的格式 支持的源类型包 DIR 将目录打包成所需要的类型,可以用于源码编译的安装包. RPM    对rpm进行转换 gem    对rubygem包进行转换. ...

  3. fpm工具来制作rpm包软件

    第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir   将目录打包成所需要的类型,可以用于源码编译安装的 ...

  4. MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)

    一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...

  5. [转]hibernateTools工具安装及使用总结(eclipse 3.6)

    转载地址:http://blueblood79.iteye.com/blog/773177 最近项目采用flex+spring+hibernate的框架开发,之前虽说有多年的Java开发经验了,但是一 ...

  6. Java开发工具安装步骤内容如下

    Java开发工具安装步骤内容如下 安装 开发工具 STS 链接下载网址 eclipse 链接下载网址 JDK安装 jdk链接下载地址 Marven环境 marven链接下载地址 Tomcat tomc ...

  7. Linux (Ubuntu12.04) 下开发工具安装和使用

    Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...

  8. 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1

    在Windows Server 2008下直接安装SQL Server 2008时,会出现如下错误: 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1 ...

  9. 解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法

    [摘要:正在Windows Server 2008下间接装置SQL Server 2008时,会涌现以下毛病: 必需应用“脚色治理对象”装置或设置装备摆设Microsoft .NET Framewor ...

随机推荐

  1. caioj 1031: [视频]递归1(全排列)【DFS】【全排列】

    题目大意:先给一个正整数 n( 1 < = n < = 10 ),输出1到n的所有全排列. 题解:这道题目我们可以用递归来实现,递归在图论中又称为"深度优先搜索"(De ...

  2. MFC---视图和窗口

    视类窗口 视类窗口是指程序运行后,显示信息的那一部分.对应的类是CTestOneView(TestOne表示项目名称)类,CTestOneView类是派生于CView类,而CView类又派生于CWnd ...

  3. Ubu18安装RabbitMQ

    RabbitMQ安装 https://www.jianshu.com/p/5c8c4495827f 安装 RabbitMQ基于erlang语言,需要先安装 sudo apt-get install e ...

  4. MQ系列:消息中间件执行原理

    1 关于消息中间件 1.1 什么是消息中间件? 消息中间件是指在分布式系统中完成消息的发送和接收的基础软件. 消息中间件也可以称消息队列(Message Queue / MQ),用高效可靠的消息传递机 ...

  5. Java 从零开始实现一个画图板、以及图像处理功能,代码可复现

    Java 从零开始实现一个画图板.以及图像处理功能,代码可复现 这是一个学习分享博客,带你从零开始实现一个画图板.图像处理的小项目,为了降低阅读难度,本博客将画图板的一步步迭代优化过程展示给读者,篇幅 ...

  6. 2021.08.10 Euler函数总结

    2021.08.10 Euler函数总结 知识: 记 φ(n) 表示在 [1,n] 中与 n互质的数的个数. 1.p为质数,则 \[φ(p^l)=p^l-p=p^{l-1}(p-1) \] 注:每p个 ...

  7. 玩转LiteOS组件:玩转Librws

    摘要:Librws是一个跨平台的websocket客户端,使用C语言编写. 本文分享自华为云社区<LiteOS组件尝鲜-玩转Librws>,作者: W922 . 本期小编为大家带来Lite ...

  8. 一文读懂原子操作、内存屏障、锁(偏向锁、轻量级锁、重量级锁、自旋锁)、Disruptor、Go Context之上半部分

    我不想卷,我是被逼的 在做了几年前端之后,发现互联网行情比想象的差,不如赶紧学点后端知识,被裁之后也可接个私活不至于饿死.学习两周Go,如盲人摸象般不知重点,那么重点谁知道呢?肯定是使用Go的后端工程 ...

  9. 从零开始,开发一个 Web Office 套件(16):拖动控制点,调整编辑器大小

    这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...

  10. 二叉查找树速通攻略 图文代码精心编写(Java实现)

    说在前面 如题目所言 这篇文章为了给下一篇二叉查找数做铺垫和前期知识准备,以便大家有良好的阅读体验,本来想合在一起的,但觉得有些长,所以就拆开了哈哈哈,还是新手向,两篇文章有些长,但如果能认真看下去, ...