转载请标明来源:https://www.cnblogs.com/zhanggui/p/9719291.html

一. 基础理解

RubyGems简称gems,它是一个用于对Ruby组件进行打包的Ruby打包系统。使用它可以方便地下载安装Ruby的软件包到用户的系统。一个软件包叫做 一个gem,它包含了一个打包的Ruby Application或者一个library

二. RubyGems安装

  1. 首先在这里下载最新的安装包
  2. 解压,然后进入解压的文件夹
  3. 执行ruby setup.rb(前提是安装了ruby)
  4. 安装完成

三. gem命令

1.gem install

用于安装一个gem,例如:

gem install xcodeproj  #从本地目录安装或者从远程服务器
gem install xcodeproj -v 1.6.0 #安装特定版本的package
gem install rake --remote #只从远程服务器获取安装

2.gem list

查看已经安装的gem,例如:

gem list --local
gem list #和上面的命令行等价
gem list test #列出包含gem名称包含test的gem

3.gem update

用户更新一个gem,例如:

gem update --system #更新gem自身
gem update --system 2.7.6 #更新gem到指定的版本
gem update #更新所有已经安装的gem包
gem update rake #更新某个gem

4.gem search

搜索特定的gem,例如:

gem search log --both   #列出本地和远程服务器中名称包含log的gem
gem search log --remote #只列出远程服务器中名称包含log的gem

5.gem uninstall

卸载gem,例如:

gem uninstall rake  #卸载rake

6.gem environment

查看RubyGems的信息

四. gem的结构

一个gem的结构如下:

freewill/

|------ bin/

| |------ freewill

|------ lib/

| |------- freewill.rb

|------ test/

| |------ test_freewill.rb

|------ README

|------ Rakefile

|------ freewill.gemspec

其中:

  • bin文件夹里面包含了可执行文件,它将会加载到用户的PATH中
  • lib文件夹包含了gem的源代码
  • test/spec文件夹包含了测试,这取决于开发者使用的测试框架
  • Rakefile:每个gem通常都会包含一个Rakefile,rake程序使用它来进行自动化测试、生成代码和执行其他的任务
  • README:当安装gem时,将自动为用户生成文档,大多数情况下包含RDoc文档,也有一些包含YARD文档
  • freewill.gemspec:该spec文件包含了该gem的信息,例如名字、测试信息、platform、版本号等,更多可以参见:这里

五. 总结

这里只是对RubyGems有一个简单的了解,也方便后续命令的查看和实用。后续会继续深入理解学习。

RubyGems系列之RubyGems初识的更多相关文章

  1. .Neter玩转Linux系列之一:初识Linux

    一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...

  2. MyBatis 框架系列之基础初识

    MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...

  3. Bing Maps进阶系列一:初识Bing Maps地图服务

    Bing Maps进阶系列一:初识Bing Maps地图服务 Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服 ...

  4. RubyGems系列之创建自己的gem

    转载请注明来源:https://www.cnblogs.com/zhanggui/p/9720818.html 一. 前言 我们可以在rubygems.org中下载安装他人创建的gem.现在,我们尝试 ...

  5. 深入理解javascript对象系列第一篇——初识对象

    × 目录 [1]定义 [2]创建 [3]组成[4]引用[5]方法 前面的话 javascript中的难点是函数.对象和继承,前面已经介绍过函数系列.从本系列开始介绍对象部分,本文是该系列的第一篇——初 ...

  6. CodeDOM 系列一: 初识

    最近手头项目接触到了CodeDom,顺带着在这里做个系列文章,有兴趣的可以做个参考.   CodeDOM是个用于运行时生成代码,以及编译生成的代码的相关技术.我们通过构造CodeDOM这样的DOM树 ...

  7. WCF系列教程之初识WCF

    本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆. 1.简介:Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程 ...

  8. Angular专题系列之一:初识Anjularjs

    Angular作为一个前端的主流框架,以其强大的特性正在被越来越多的程序员们所使用,那么,什么是anjular呢?angularjs是一个javascript framework,一个js的框架,可以 ...

  9. spring cloud 入门系列一:初识spring cloud

    最近看到微服务很火,也是未来的趋势, 所以就去学习下,在dubbo和spring cloud之间我选择了从spring cloud,主要有如下几种原因: dubbo主要专注于微服务中的一个环节--服务 ...

随机推荐

  1. App瘦身、性能优化总结

    App瘦身 资源瘦身 使用tinypng压缩PNG图片.视频可以通过 Final cut等软件进行分辨率压缩.音频则降低码率即可. 非必须资源文件可以放到自己服务器上 启动图使用 LaunchScre ...

  2. 关于单元测试的思考--Asp.Net Core单元测试最佳实践

    在我们码字过程中,单元测试是必不可少的.但在从业过程中,很多开发者却对单元测试望而却步.有些时候并不是不想写,而是常常会碰到下面这些问题,让开发者放下了码字的脚步: 这个类初始数据太麻烦,你看:new ...

  3. [Swift]LeetCode1034.边框着色 | Coloring A Border

    Given a 2-dimensional grid of integers, each value in the grid represents the color of the grid squa ...

  4. ACache【轻量级的开源缓存框架】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 官方介绍 ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架.轻量到只有一个java文件(由十几个类精简 ...

  5. FragmentTabHostBottomDemo【FragmentTabHost + Fragment实现底部选项卡】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用FragmentTabHost实现底部选项卡效果. 备注:该Demo主要是演示FragmentTabHost的一些设置和部分功能 ...

  6. Linux 中查看进程及资源使用情况

    top 自带的 top 命令类似于平时我们使用的任务管理器,能够列出当前系统中的进程及资源的使用情况. $ man top top - display Linux tasks 使用起来很简单,不加任何 ...

  7. SpringBoot进阶教程(二十二)集成RabbitMQ---MQ实战演练

    RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.RabbitMQ是流行的开源消息队列系统,用erlang语言开发.Rab ...

  8. Asp.Net进程外Session(状态服务器Session、数据库Session)

    介绍 我们知道,当浏览器关闭,或者网站重启的时候,会话就结束了.即Seesion就丢失了.(当Web.config配置文件改动,哪怕什么内容都不加,仅仅往配置文件中加一个空格都是改we.config变 ...

  9. .NET(C#、VB)移动开发——Smobiler平台控件介绍:TextTabBar控件

    TextTabBar控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个TextTabBar控件到窗体界面上 ...

  10. DSAPI QQ用户相关

    获取指定QQ号头像 Label1.Image=DSAPI.QQ用户相关.下载QQ头像("20353841") 获取指定QQ群头像 Label1.Image = DSAPI.QQ用户 ...