首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分清Ruby语言的这些概念,也就搞懂了构建工具、依赖管理工具和包管理工具!

概述 Ruby中有一些概念比较复杂,容易混淆:rake、Rakefile、gem、gemspec、bundler、bundle、Gemfile 概述 这几个都是Ruby语言中的概念。...gem是Ruby的包管理系统,命令是gem,包名后缀也是.gem,类似于rpm。 不过rpm只能安装本地包,不能联网下载。联网下载需使用yum或dnf。...联网下载需使用apt。 gemspec文件,是gem的描述文件,包含gem相关的信息,如包名、版本、简介、描述、作者、主页等。...Gemfile文件描述执行相关Ruby应用需要的外部依赖gem,包含源、gem名称、gem版本等信息。...在不同的编程语言体系中,有些工具是合并了所有的功能,有些是合并了其中的两种,有些则可能有缺失。

37420

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

gem是Ruby的包管理系统,命令是gem,包名后缀也是.gem,类似于rpm。 不过rpm只能安装本地包,不能联网下载。联网下载需使用yum或dnf。...联网下载需使用apt。 gemspec文件,是gem的描述文件,包含gem相关的信息,如包名、版本、简介、描述、作者、主页等。...Gemfile和gem无关,它其实是bundler的配置文件名称。 bundler、bundle和Gemfile bundler是Ruby应用的外部依赖管理工具。...Gemfile文件描述执行相关Ruby应用需要的外部依赖gem,包含源、gem名称、gem版本等信息。...执行bundler install时,bundler会读取Gemfile文件并一次性安装所有依赖gem。 总结 rake是Ruby语言的构建工具,它的配置文件是Rakefile。

4.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    工程化(三)

    如果你有必要在你的电脑上装多个Ruby环境,比如你需要维护多个指定版本的Ruby项目,那么就需要使用rvm或者rbenv来管理Ruby。...我们是使用bundler来管理Ruby中使用的三方库的,该设置首先会清理加载路径,然后仅激活Gemfile中定义的gem,也就是说,只会将Gemfile中定义的gem的路径添加到LOAD_PATH变量中...在使用bundle exec 运行命令的时候,默认会将当前目录下Gemfile文件中指定的gem加载到Ruby程序中。...也就是说,如果在一句gem指令前面加上bundle exec,那么该指令就会在当前目录下Gemfile中描述的Gem环境下执行。...如果你安装了多个gem版本,那么就需要指定当前使用的gem版本,通过在命令前面加上bundle exec,就可以指定【使用Gemfile中描述的Gem版本运行!】。

    66240

    部署一个Sinatra应用程序到Heroku

    您需要在Heroku有一个(免费)帐户。...假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用: gem 'sinatra...' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations' gem 'pony' gem 'dm-postgres-adapter', :group...我将在稍后的帖子中讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。 Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。...可以在这里学习如何做到这一点 当在命令行中时,需要将您的密钥连接到Heroku,以便在Heroku的计算机之间进行安全通信: heroku keys:add 系统会要求您添加您创建Heroku帐户的凭据

    2.7K60

    部署一个Sinatra应用程序到Heroku

    您需要在Heroku有一个(免费)帐户。...假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含在应用程序中使用的所有Ruby gems的引用: source...:rubygems gem 'sinatra' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations' gem 'pony' gem 'dm-postgres-adapter...所以我将在稍后的帖子中讨论其他知识。像记录生产环境和开发环境的集群。和Heroku不支持Sqlite。 Sinatra是一个构建应用程序的工具,但Heroku不是。...可以用命令行初始化一个Git仓库: git init 安装Heroku Gem 您还需要安装Heroku gem: gem install heroku SSH密钥 您需要去生成SSH密钥。

    5.1K110

    ETL (Extract-Transform-Load) with Kiba(1)

    在构建数据仓库,进行数据分析,实现异构数据库之间数据转存的情境下会涉及到数据的 ETL(Extract-Transform-Load) Tip: 一般而言如下情况也可以使用 ETL 来解决: 将遗留数据库中的数据迁移到新的数据库中...自动处理数据以生成报表 将多个系统中的所有数据或部分数据同步到一个中来 将数据处理得易于搜索(导入到Elasticsearch 或 Solr 中) 多个数据库中的数据进行聚合处理后将结果保存到一个数据一致的库中...[root@h102 ~]# mkdir kiba [root@h102 ~]# cd kiba [root@h102 kiba]# ls [root@h102 kiba]# ---- 创建一个 Gemfile...用来指定依赖 [root@h102 kiba]# vim Gemfile [root@h102 kiba]# cat Gemfile source 'https://gems.ruby-china.org...2 Gemfile dependencies, 3 gems now installed.

    63310

    在Heroku中部署一个Sinatra应用程序

    首先你需要在Heroku上有一个账户(注册是免费的) 如果你对你的程序在本地环境的运行情况感到满意(即你已经完成了应用程序的开发,并且其在本地运行没有问题),接下来要做的是确保你有以下文件: Gemfile...config.ru 其中Gemfile包含对应用程序中使用的所有Ruby gem的引用: gem 'sinatra' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations...' gem 'pony' gem 'dm-postgres-adapter', :group => :production gem 'dm-sqlite-adapter', :group => :development...我将在之后的帖子中讨论这一部分。请留意生产和开发的环境,Heroku不支持Sqlite。...我们只是需要一个文件来配置我们应用程序的运行方式: 在config.ru中你需要以下代码: require '.

    2.6K60
    领券