有趣的Ruby-学习笔记7

RubyGems

用Ruby一定会用到 RubyGems, RubyGems是Ruby下的包管理器,用过maven的人都知道包管理器的重要性。

安装

以下安装过程在cygwin上实现
首先访问 RubyGems 官网 https://rubygems.org/pages/download

下载RubyGems包

先下载 RubyGems的zip包
https://rubygems.org/pages/download

把包解压开运行 setup.rb



安装完成


切换使用淘宝源

由于众所周知的原因,我们必须使用淘宝源,否则装不了rubyGems上的东西
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请确保只有 ruby.taobao.org

这样就可以用gem install xxxx 来安装东西了,具体请查阅相关文档

使用Centos

从这里开始就必须要使用Centos了,虽然在cygwin下一样可以安装RubyGems但是里面有很多必须要用到的包,比如mysql的包需要linux的编译环境才能安装成功,如果用cygwin需要做很多的准备工作比较麻烦,不如直接使用centos
在centos上安装ruby和 gems
sudo yum install ruby
sudo yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel sqlite-devel
sudo yum install ruby-rdoc ruby-devel
yum install rubygems

用Ruby访问mysql

用rubyGems安装mysql的支持非常简单
gem install mysql
不过在安装前请确保你安装过mysql,如果没有请执行
yum install mysql
yum install mysql-devel
否则你无法从gem安装mysql

使用

先做一个最简单的例子来访问mysql并查询student表

#!/usr/bin/ruby

require "rubygems"
require 'mysql'


begin
    con = Mysql.new 'localhost', 'root', 'root','test'
    puts "mysql version: #{con.get_server_info}"
    rs = con.query 'select * from student;'
    #get rows    
    n_rows = rs.num_rows
    puts "There are #{n_rows} rows in the result set"

    rs.each_hash do |row|
        puts row['name'] + "  " + row['age']
    end

rescue Mysql::Error => e
    puts e.errno
    puts e.error

ensure
    con.close if con
end
解释
  • 在ruby 1.8 之前需要先require ‘rubygems’ 才能 require ‘mysql’
  • 要使用 each_hash 才能够通过 row[‘column’] 取出row里面的具体字段
  • 请把关闭数据库连接的语句放到 ensure 里面

升级Ruby到1.9.3

虽然用yum可以简单快捷的安装ruby,但是你所安装的ruby版本也受限于yum源,我用的只有1.8.7,rails都安装不上,所以需要升级到1.9.3。这就需要使用RVM

何为RVM?

RVM就是 Ruby Version Manager 从字面意思上看就是ruby版本管理器,实际上他会构建出多个ruby版本环境,非常好用
从现在开始抛弃yum安装的ruby 和 gem那套把。开始使用RVM

STEP1 升级yum

yum update

STEP2 安装必要的包

# yum install gcc-c++ patch readline readline-devel zlib zlib-devel 
# yum install libyaml-devel libffi-devel openssl-devel make 
# yum install bzip2 autoconf automake libtool bison iconv-devel

STEP3 安装RVM

# curl -L get.rvm.io | bash -s stable
你会看到类似的输出结果
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20511  100 20511    0     0   1120      0  0:00:18  0:00:18 --:--:-- 19722
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz
Creating group 'rvm'

Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# Administrator,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io

STEP4 安装RVM环境

source /etc/profile.d/rvm.sh

STEP5 安装 1.9.3

rvm install 1.9.3

STEP6 新建新的gem配置

语法
rvm gemset create gemset_name    # gemset_name 是一个随便的名字
rvm ruby_version@gemset_name  # 指定ruby 版本和 gemset_name 名字
实际例子
rvm gemset create 9gem
rvm 1.9.3@9gem
至此就升级完毕了,gems也是RVM管理的gems不是yum安装的那个

终于学完了Ruby入门课程,正式成为一个Ruby小菜鸟了












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值