ruby学习之路(一)
学习ruby最好的方法就是下载源码包,里面带有sample和test,是入门学习的最好实例。
我下载的是2.1.0版本,首先./configure,然后make,sudo make install。从common.mk文件中可看出,包含有两类test:test和test-all,test主要是对sample/test.rb进行测试,test-all用于对test文件夹中的用例进行测试。
在make test-all过程中,提示未找到zlib,需要通过gem下载,下面就复习一下gem的语法
gem相关命令使用 .显示gem的帮助和版本
gem –h/--help
#显示gem的帮助 gem –v /--version
#显示gem的版本号
. 列出远程库的所有可用软件
gem query --remote
# 短命令: gem q -r
你可以看到一个关于远程主机上所有软件的详细列表。
. 查找远程主机上的特定软件
gem query --remote --name-matches doom
# 短命令: gem q -rn doom
你将看到一个匹配doom的详细列表。 gem list –remote --d
#用子命令list列出远程安装的gems
4.1 安装一个远程软件
gem install --remote progressbar
# 短命令: gem i -r progressbar –y
远程安装progressbar到你的主机,-y的意思是无条件的安装依赖包 gem install rails –remote
#从远程服务器安装rails包,其中rails可以被替换成任何一个gem list –remote –d中显示的软件包 4.2 安装软件的特定版本
gem ins -r progressbar-0.0.
安装progressbar的0..3版本 gem ins -r progressbar --version '> 0.0.1'
将安装progressbar的大于0..1的最新版本
. 查看一个已安装的软件
gem specification progressbar
# 短命令: gem spec progressbar 你会看到关于已安装的包progressbar的详细信息。
. 卸载一个软件
gem uninstall progressbar
卸载了progressbar
7.1 将所有安装的软件列表
gem query --local
# 短命令: 'gem q -l'
7.2 查看某个已安装的软件
gem query --local --name-matches doom
# 短命令: 'gem q -ln doom'
或:gem list --local 7.3 需要注意的安装方法
gem ins rake 会先尝试本地安装,如果本地没有就会远程下载。
gem list -b ^C 列出本地和远程的以C开头的软件 . 浏览所有安装的软件和它们的说明文档
gem_server
会生成一个web服务器,打开http://localhost:8808 就可以看到一个html详细列出了你需要的信息。 . 使用配置文件
gem: --gen-rdoc --run-tests
如果你想安装软件后总是生成它们的文档和运行单元测试,你可以在配制文件里写上相关的命令,配置文件名是.gemrc,在主目录里。 . 构建gem包
gem build package.gemspec
#运用bulid子命令构建gem包
参考自园中麦子加菲的博客
下载gem之前,首先将gem的源更换为淘宝网,步骤如下
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES *** http://ruby.taobao.org
当执行到gem sources -a http://ruby.taobao.org/时报错:
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::RemoteFetcher::Zlib
原因是下载列表时需要zlib库,而ruby中没有带这个库,想将源换回之前的库gem sources -a https://rubygems.org/又报错:
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
因此必须安装zlib,从zlib.net网站下载源码包,编译安装后进入ruby源码文件夹,安装ruby自身提供的zlib包
$cd ext/zlib
$ruby ./extconf.rb
$make
$make install
然后再执行gem sources -a http://ruby.taobao.org/,源更改成功
ruby学习之路(一)的更多相关文章
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- 开始了大概三四天的Rails学习之路
最近因为一位极光推送朋友,我开始了大概三四天的Rails学习之路,最终达到的水平是可以比较轻松地做出大部分功能,然后自我感觉可以自如地按照Rails的设计思想去思考.由于编程的日益流行,我结识了越来越 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- springboot 学习之路 1(简单入门)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON
Home / Qt 学习之路 2 / Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON Qt 学习之路 2(64):使用 QJsonDocument 处理 JSON 豆子 ...
- Qt 学习之路 2(63):使用 QJson 处理 JSON
Home / Qt 学习之路 2 / Qt 学习之路 2(63):使用 QJson 处理 JSON Qt 学习之路 2(63):使用 QJson 处理 JSON 豆子 2013年9月9日 Qt ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- Android开发学习之路-RecyclerView滑动删除和拖动排序
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...
- RPC远程过程调用学习之路(一):用最原始代码还原PRC框架
RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...
随机推荐
- BZOJ 1037: [ZJOI2008]生日聚会Party 四维DP
1037: [ZJOI2008]生日聚会Party Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1650 Solved: 971[Submit][ ...
- 【hdu3966】Aragorn's Story
题意:给一棵树,并给定各个点权的值,然后有3种操作:I C1 C2 K: 把C1与C2的路径上的所有点权值加上KD C1 C2 K:把C1与C2的路径上的所有点权值减去KQ C:查询节点编号为C的权值 ...
- yispider 开源小说採集器 (来源http://git.oschina.net/yispider/yispider 我的改动版由于他的我无法跑)
我的git地址 http://git.oschina.net/yangdc/yispider 小说採集器 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/ ...
- linux 点命令
cat a date . a Mon Jun :: CST linux .(点命令):读取并且在当前的shell中执行文件中的命令
- SQLServer 存储过程 SET NOCOUNT { ON | OFF } 的使用
在JDBC中调用 sql server 的存储过程时“该语句没有返回结果集”异常: 解决方法:在存储过程首行加上 SET NOCOUNT ON 使返回的结果中不包含有关受 Transact-S ...
- 【410】Linux 系统 makefile 文件
makefile 主要是用来合并编译文件 CC = gcc puzzle: puzzle.c boardADT.o $(CC) puzzle.c boardADT.o -o puzzle -lm bo ...
- 【废弃中】【WIP】JavaScript 数组
创建: 2018/01/22 更新: 2018/05/20 把此博文加入[javascript]分类, 原来忘记了 废弃: 2019/02/19 重构此篇.原文归入废弃 增加[废弃中]标签与总体任务 ...
- 国王游戏 2012年NOIP全国联赛提高组(贪心+高精)
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成 ...
- C#多线程,基础知识很重要
本文通过介绍C#多线程的用法(基础玩法),附加介绍一下WinForm里边跨线程访问UI的方法 如图,就是这么一个简单的界面,每个按钮下面一个方法,分别设置文本框里边的内容,那么,开始吧! 先介绍一下W ...
- NetCore Netty 框架 BT.Netty.RPC 系列随讲 —(前序) REST API 与 RPC 经典网络基础服务架构
在服务体系架构内,我们所知道的,有两种请求模型: Http 请求模型,以及 RPC 请求模型.因此,在一个互联网请求模型架构上,都是这两种的请求模型的向互组合. 下面给出两种常见的互联网经典基础架构图 ...