Ruby入门--Linux/Windows下的安装、代码开发及Rails实战


Ubuntu 13.04下Ruby的安装

公司有项目组进行系统重构,采用了Ruby On Rails框架,我也抽出时间学习了一下,并对几个原来用Java开发的定时任务、消息监听进行了ruby改造,学习过程中主要参考两本书:Programming Ruby中文版(第二版)》 (下载见 )、Ruby on Rails教程》(PDF下载见  ),开发工具:vim、RubyMine。 

安装 

Linux下:安装RVM和GEM后,之后所有的安装,都可以交给RVM和GEM了,安装RVM默认会装好GEM。

(1)curl -L https://get.rvm.io | bash -s stable

(2)source /etc/profile.d/rvm.sh ,这个脚本的目的是把rvm相关加入$PATH路径

安装完毕后界面如下(这个是从github下载代码,国内非常慢,多尝试几次):

安装RVM之后,安装ruby组件:

(1)安装ruby:rvm install ruby

这一步rvm会帮我们自动安装很多linux依赖包(如果linx本身没有的话),如果自动装不上,也可以根据屏幕提示收到安装,比如可能有提示进行如下安装:

yum install -y libyaml-devel autoconf gcc-c++ readline-devel zlib-devel openssl-devel automake libtool bison

网速不好,机器太烂(比如我的单CPU1G内存虚拟机),可能会花很多时间(比如2个小时),先有个心理准备大笑

(2)安装rails:gem install rails

输入ruby -v ,显示ruby的版本,可以看到ruby已经装好。

我们也可以通过which ruby,查看ruby程序的位置。之所以直接输入ruby就能运行,是因为rvm已经把ruby加到$PATH环境变量中了。

我们输入echo $PATH,可以看到$PATH环境变量中已经包含ruby的路径了,如下:/usr/local/rvm/bin 。 

HelloWorld 

使用irb,写出第一行代码:puts "Hello, World!"

也可以编辑一个文件:test.rb,内容也只有一行:puts "Hello,World",然后再命令行运行:ruby test.rb,可以看到输出了正确的结果。

我们也可以这样设置test.rb,内容如下:

#!/usr/local/rvm/bin/ruby

puts "Hello,World"

然后再命令行给test.rb可执行的权限:chmod 777 test.rb,然后我们在命令行输入:./test.rb,可以看到,输出了正确的结果。

Mysql devel&client组件 

(1)yum -y install mysql-devel

由于我的rhel6.2机器yum下面有错误的.repo文件,导致我一直连不上yum源服务器,执行了如下操作:

cd /etc/yum.repos.d/

rm -fr 无用的.repo文件

yum clean all

vim /etc/yum.repos.d/rhel-source.repo(这个文件的内容如下)

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://192.168.1.11/yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RedHat-release

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

(2)gem install mysql2 

经过以上两步,就可以连接mysql数据库了,例子代码如下:

require 'mysql2'
class Test
        def initialize
        @db = Mysql2::Client.new(:host => "192.168.211.245",
                                        :port => 3306,
                                        :username => "mysql",
                                        :password => "mysql",
                                        :database => "yitian_b2c_db")
                puts "a"
        end
end
if __FILE__ == $0
        test = Test.new
end

更多详情见请继续阅读下一页的精彩内容

  • 1
  • 2
  • 3
  • 下一页

相关内容