概述

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

之前的一个老项目,在打包的时候用到了一个叫做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. PyQt5 基础知识(六):展示控件

    目录 3. 展示控件 3.1 QLabel 3.1.1 描述 3.1.2 功能作用 3.1.2.1 基本功能 3.1.2.2 文本交互 3.1.2.3 内容操作 3.1.2.3.1 文本字符串 3.1 ...

  2. python---复杂度、斐波那切数列、汉诺塔

    时间复杂度 ​ 用来估计算法运行时间的一个式子. ​ 一般来说, 时间复杂度高的算法比复杂度低的算法慢. 常见的时间复杂度: ​ O(1) < O(logn) < O(n) < O( ...

  3. Blazor 使用拖放(drag and drop)上传文件

    在很多上传文件的应用实例中, 都可以看到[拖放文件到此上传]这种骚功能 ,今天我们就来试试Blazor能不能完成这个想法. 简述HTML5拖放 拖放是HTML5标准的一部分,任何元素都能够拖放,也能够 ...

  4. canvas基础简单易懂教程(完结,多图)

    目录 Canvas学习 一. Canvas概述 1.1 Hello world 1.2 Canvas的像素化 1.3 Canvas的动画思想 1.4 面向对象思维实现canvas动画 二.Canvas ...

  5. input清楚阴影 number属性

    IOS,input出现阴影: input[type="text"],input[type="email"],input[type="search&qu ...

  6. Java语言学习day29--8月04日

    今日内容介绍1.Object2.String3.StringBuilder ###01API概念 * A:API(Application Programming Interface) * 应用程序编程 ...

  7. python跑机器学习时报错:Process finished with exit code -1073740791 (0xC0000409)

    emmm...第二次遇到这个错误了,好好的好好的卷积神经网络突然就跑不起了.就弹出一堆信息也不报那行代码错了... 记录一下: 两次解决方法相同,删h5py包 Process finished wit ...

  8. 『现学现忘』Git对象 — 15、blob对象介绍

    目录 (一)Git对象的存放目录 (二)Git中对象类型 (三)blob对象 1.blob对象说明 (1)blob对象定义 (2)blob对象说明 (3)blob对象存储的方式 (4)查看blob对象 ...

  9. “如何实现集中管理、灵活高效的CI/CD”研讨会报名即将截止

    如何实现集中管理.灵活高效的CI/CD ZOOM中文在线研讨会将于 2022年3月29日,星期二,下午3:00-5:00, 也就是 明天 举行, 如果您还未注册,点击按钮,立即注册此次研讨会(注册即可 ...

  10. [AcWing 756] 蛇形矩阵

    点击查看代码 #include<iostream> using namespace std; const int N = 110; int n, m; int dx[] = {-1, 0, ...