Ubuntu 13.04下Ruby的安裝 http://www.linuxidc.com/Linux/2013-06/85734.htm
公司有項目組進行系統重構,采用了Ruby On Rails框架,我也抽出時間學習了一下,並對幾個原來用Java開發的定時任務、消息監聽進行了ruby改造,學習過程中主要參考兩本書:《Programming Ruby中文版(第二版)》 (下載見http://www.linuxidc.com/Linux/2014-04/100254.htm )、《Ruby on Rails教程》(PDF下載見 http://www.linuxidc.com/Linux/2014-04/100253.htm ),開發工具: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 。
使用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,可以看到,輸出了正確的結果。
(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
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-04/100242p2.htm