RubyGems系列之RubyGems初识
转载请标明来源:https://www.cnblogs.com/zhanggui/p/9719291.html
一. 基础理解
RubyGems简称gems,它是一个用于对Ruby组件进行打包的Ruby打包系统。使用它可以方便地下载安装Ruby的软件包到用户的系统。一个软件包叫做 一个gem,它包含了一个打包的Ruby Application或者一个library。
二. RubyGems安装
- 首先在这里下载最新的安装包
- 解压,然后进入解压的文件夹
- 执行ruby setup.rb(前提是安装了ruby)
- 安装完成
三. 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初识的更多相关文章
- .Neter玩转Linux系列之一:初识Linux
一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...
- MyBatis 框架系列之基础初识
MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...
- Bing Maps进阶系列一:初识Bing Maps地图服务
Bing Maps进阶系列一:初识Bing Maps地图服务 Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服 ...
- RubyGems系列之创建自己的gem
转载请注明来源:https://www.cnblogs.com/zhanggui/p/9720818.html 一. 前言 我们可以在rubygems.org中下载安装他人创建的gem.现在,我们尝试 ...
- 深入理解javascript对象系列第一篇——初识对象
× 目录 [1]定义 [2]创建 [3]组成[4]引用[5]方法 前面的话 javascript中的难点是函数.对象和继承,前面已经介绍过函数系列.从本系列开始介绍对象部分,本文是该系列的第一篇——初 ...
- CodeDOM 系列一: 初识
最近手头项目接触到了CodeDom,顺带着在这里做个系列文章,有兴趣的可以做个参考. CodeDOM是个用于运行时生成代码,以及编译生成的代码的相关技术.我们通过构造CodeDOM这样的DOM树 ...
- WCF系列教程之初识WCF
本随笔参考自WCF编程系列(一)初识WCF,纯属读书笔记,加深记忆. 1.简介:Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程 ...
- Angular专题系列之一:初识Anjularjs
Angular作为一个前端的主流框架,以其强大的特性正在被越来越多的程序员们所使用,那么,什么是anjular呢?angularjs是一个javascript framework,一个js的框架,可以 ...
- spring cloud 入门系列一:初识spring cloud
最近看到微服务很火,也是未来的趋势, 所以就去学习下,在dubbo和spring cloud之间我选择了从spring cloud,主要有如下几种原因: dubbo主要专注于微服务中的一个环节--服务 ...
随机推荐
- Hexo + GitHub 搭建个人博客
对于程序员来说,搭建和维护一个个人博客十分必要,写博客既是对所学知识的整理和总结,同时也能向他人展现自己的学习成果.这篇教程就是基于 Hexo 和 GitHub 来搭建属于自己的个人博客,简单快捷, ...
- Codeforces Round #539 (Div. 2) - D. Sasha and One More Name(思维)
Problem Codeforces Round #539 (Div. 2) - D. Sasha and One More Name Time Limit: 1000 mSec Problem ...
- kubernetes 安装备注
一.安装环境 阿里云:centos 7.3 master节点:外网IP(116.62.205.90).内网IP(172.16.223.200) node节点:外网IP(116.62.212.174). ...
- java集合常见面试题
1. Array和ArrayList的区别,什么时候更合适用Array a) Array是数组,可以容纳基本类型和对象,而ArrayList是集合,只能容纳对象 b) Array是 ...
- lambda和匿名内部类使用外部变量为什么要语义final?
今天群里讨论java的lambda实现. 后来不断衍生谈到了为什么lambda和匿名内部类只能使用语义final的外部变量. 最开始以为是java的lambda实现问题,编译期魔法会把外部引用作为参数 ...
- LongLightUtils【保持屏幕常亮工具类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是简单记录下保持屏幕常亮工具类LongLightUtils的使用,具体请阅读参考资料<Android屏幕常亮,其实很简单 ...
- java~springboot~ibatis Invalid bound statement (not found)原因
事实起因 最近在ORM上使用了ibatis,感觉挺繁琐的,没有jpa来的直接,但项目非要用也没有办法,最近在进行开发过程中出现了一个问题Invalid bound statement (not fou ...
- Mongodb在CSharp里实现Aggregate
回到目录 今天主要用了一个mongodb.driver里的分组,事实上在网上介绍这方面的文章非常少,以至于我在出现问题后,无法找到一个正确的解决方案,最后还是通过异常信息找到的解决方法,所以感觉自己更 ...
- 使用 ASP.NET Core MVC 创建 Web API(一)
从今天开始来学习如何在 ASP.NET Core 中构建 Web API 以及每项功能的最佳适用场景.关于此次示例的数据库创建请参考<学习ASP.NET Core Razor 编程系列一> ...
- 目标检测 IOU(交并比) 理解笔记
交并比(Intersection-over-Union,IoU): 目标检测中使用的一个概念 是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率 ...