前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文搞清rake、Rakefile、gem、gemspec、bundler、bundle、Gemfile的关系

一文搞清rake、Rakefile、gem、gemspec、bundler、bundle、Gemfile的关系

作者头像
DevOps持续交付
发布2020-03-10 10:20:18
3.7K0
发布2020-03-10 10:20:18
举报
文章被收录于专栏:DevOps持续交付DevOps持续交付

概述

这几个都是Ruby语言中的概念。下面我分别介绍一下各个名词的含义,并将其与其他类似工具做比较,以便读者理解。

Ruby

Ruby是红宝石的意思,是编程语言的名字。Ruby语言的logo就是一颗红宝石。

Ruby是一门开源的动态编程语言,注重简洁和效率。其句法优雅,读起来自然,写起来舒适。

Ruby语言源文件的后缀是.rb

rake和Rakefile

rakeRuby语言的类make程序。可以在其中定义任务和源码依赖。

rake = r(uby’s m)ake

就像makeMakefile文件一样,rake有对应的Rakefile

它们都属于构建工具的范畴。

表格展示如下:

语言

构建工具名称

构建工具配置文件

C

Make

Makefile

Ruby

Rake

Rakefile

gem和gemspec

gem是宝石的意思。能够很容易想到跟Ruby红宝石同处一系。

gemRuby的包管理系统,命令是gem,包名后缀也是.gem,类似于rpm

不过rpm只能安装本地包,不能联网下载。联网下载需使用yumdnf

同样的,Debian系,包管理系统是dpkg,不能联网下载。联网下载需使用apt

gemspec文件,是gem的描述文件,包含gem相关的信息,如包名、版本、简介、描述、作者、主页等。

类似的,dpkg打包需要spec文件,deb打包需要control文件。

表格展示如下:

语言

包管理系统

包后缀

本地

联网

描述文件名

Ruby

gem

.gem

<package-name>.gemspec

Red Hat系

rpm

.rpm

SPECS/<package-name>.spec

Red Hat系

yum/dnf

.rpm

-

Debian系

dpkg

.deb

debian/control

Debian系

apt

.deb

-

这里要注意,gem对应的文件是gemspec。Gemfile和gem无关,它其实是bundler的配置文件名称。

bundler、bundle和Gemfile

bundler是Ruby应用的外部依赖管理工具。

bundle是另一个gem,是用来解决”把bundler误拼写称bundle”的问题,唯一功能就是安装bundler,使两者同意而不报错。

Gemfile文件描述执行相关Ruby应用需要的外部依赖gem,包含源、gem名称、gem版本等信息。

执行bundler install时,bundler会读取Gemfile文件并一次性安装所有依赖gem。

总结

rake是Ruby语言的构建工具,它的配置文件是Rakefile。

gem是Ruby语言的包管理工具,它的配置文件后缀是.gemspec。

bundler是Ruby语言的外部依赖管理工具,它有一个别名叫”bundle”,它的配置文件是Gemfile。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 左手编程右手文化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Ruby
  • rake和Rakefile
  • gem和gemspec
  • bundler、bundle和Gemfile
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档