fpm工具安装
概述
最近在对机房的编译环境做整理,过程曲折而痛苦,记录一下。
之前的一个老项目,在打包的时候用到了一个叫做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工具安装的更多相关文章
- centos 6.5 + php5.5.31 fastcgi (fpm) 编译安装
yum intsall zlib zlib-devel //gzip 压缩和解压 yum install openssl openssl-devel yum install libxml2 libxm ...
- FPM工具 实战定制nginx包
FPM主要特点: 把一种包打包成另一种包的格式 支持的源类型包 DIR 将目录打包成所需要的类型,可以用于源码编译的安装包. RPM 对rpm进行转换 gem 对rubygem包进行转换. ...
- fpm工具来制作rpm包软件
第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir 将目录打包成所需要的类型,可以用于源码编译安装的 ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- [转]hibernateTools工具安装及使用总结(eclipse 3.6)
转载地址:http://blueblood79.iteye.com/blog/773177 最近项目采用flex+spring+hibernate的框架开发,之前虽说有多年的Java开发经验了,但是一 ...
- Java开发工具安装步骤内容如下
Java开发工具安装步骤内容如下 安装 开发工具 STS 链接下载网址 eclipse 链接下载网址 JDK安装 jdk链接下载地址 Marven环境 marven链接下载地址 Tomcat tomc ...
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
- 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1
在Windows Server 2008下直接安装SQL Server 2008时,会出现如下错误: 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1 ...
- 解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法
[摘要:正在Windows Server 2008下间接装置SQL Server 2008时,会涌现以下毛病: 必需应用“脚色治理对象”装置或设置装备摆设Microsoft .NET Framewor ...
随机推荐
- FinClip 黑客马拉松正式开赛,码力集结,等你来战!
从2017到2022,小程序已经走过了5年的光景.从无人问津到互联网巨头纷纷入局,短短数年间,小程序已然发展成为超级 App 的标配!微信.支付宝.百度.抖音.今日头条--这些超级app的背后都有巨量 ...
- 【LeetCode】358.K 距离间隔重排字符串
358.K 距离间隔重排字符串 知识点:哈希表:贪心:堆:队列 题目描述 给你一个非空的字符串 s 和一个整数 k,你要将这个字符串中的字母进行重新排列,使得重排后的字符串中相同字母的位置间隔距离至少 ...
- Mybatis项目无法初始化异常
该异常是Maven资源导出时出错,.xml文件或者.properties文件不能正常导出所致,最简单的办法就是在目标文件上复制粘贴一份.xml文件或者是.properties文件: 但是实际应用的过程 ...
- Python 报错 ValueError list.remove(x) x not in list 解决办法
平时开发 Python 代码过程中,经常会遇到这个报错: ValueError: list.remove(x): x not in list 错误提示信息也很明确,就是移除的元素不在列表之中. 比如: ...
- 2021.07.19 BZOJ2654 tree(生成树)
2021.07.19 BZOJ2654 tree(生成树) tree - 黑暗爆炸 2654 - Virtual Judge (vjudge.net) 重点: 1.生成树的本质 2.二分 题意: 有一 ...
- jquery 动态 给select赋值
<div class="right_left"> <select id="supply"> <option>请选择供应商&l ...
- 团队Arpha4
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络 ...
- 再见 FTP/SFTP!是时候拥抱下一代文件传输利器了!
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 两台电脑之间该如何传送档案,其实方法有超多种的,像是 FTP 或透过 SSH 方式来传送档案, ...
- vue - Vue组件化编程
今天是对vue组件化的一个理解,最主要的单文件组件,然后就可以脚手架的学习了,本来昨晚就该上传的,但是用的那个上传博客园的Python脚本不行了,换了一个新的. 组件化让我越来越感觉到框架的力量了 一 ...
- java高级用法之:JNA中的Memory和Pointer
目录 简介 Pointer 特殊的Pointer:Opaque Memory 总结 简介 我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer.除了Pointer之外, ...