星期五, 9月 20, 2013

2013IT鐵人賽-05-ruby01-Ruby程式安裝與小測試

2013IT鐵人賽-05-ruby01-Ruby程式安裝與小測試



在學習Ruby的時候, 之前更常聽到 Ruby on Rails (謎之音:這個也是要先學完Ruby 之後的事情了吧),去查了一下網路上的資料, 大部分的學習者都是搭配 ruby 1.9.3 的版本, 所以本次學習的ruby版本就鎖定在 ruby 1.9.3 了(此次的書籍涵蓋 ruby 1.8 以及 1.9).


說真的, 歐萊禮出版社的書不愧是O’REILLY的書, 唸完第一章, 昏迷指數就急速上升......
所以首要之務就是先搞定ruby開發環境.
書上的作法是到官方網站 https://www.ruby-lang.org 的下載連結 https://www.ruby-lang.org/zh_tw/downloads/ 來進行安裝.  這個部份可依照自己的作業系統以及喜好來安裝,  我用的環境是 EasyCloud 內所提供的 openSUSE 12.2 作業系統.


所以就使用指令來進行查詢與安裝了喔.  :-)


# zypper  search   --match-words   ruby
正在載入套件庫資料...
讀取已安裝的套件...


S | 名稱                          | 摘要                                                 | 類型    
--+-------------------------------+------------------------------------------------------+---------
 | cmpi-bindings-ruby            | Adapter to write and run CMPI-type CIM providers i-> | 套件    
 | graphviz-ruby                 | Ruby Extension for Graphviz                          | 套件    
 | kdebindings3-ruby             | Ruby Bindings for Qt and KDE Libraries               | 套件    
 | kross-ruby                    | Ruby Bindings for kross                              | 套件    
 | libcaca-ruby                  | Ruby bindings for libcaca                            | 套件    
 | libstorage-ruby               | Ruby bindings for libstorage                         | 套件    
 | openwsman-ruby                | Ruby bindings for openwsman client API               | 套件    
 | ruby                          | An Interpreted Object-Oriented Scripting Language    | 套件    


這邊由於 ruby 的相關套件太多, 所以我在使用 zypper 查詢的時候使用 --match-words 來要求 zypper 查詢要符合整個字.  目前看起來是沒有安裝 ruby 的, 但是還要進一步確認版本.


# zypper   search  --match-words  -s  ruby
正在載入套件庫資料...
讀取已安裝的套件...


S | 名稱                          | 類型     | 版本              | 結構   | 套件庫              
--+-------------------------------+----------+-------------------+--------+---------------------
 | cmpi-bindings-ruby            | 套件     | 0.5.4-2.1.2       | x86_64 | openSUSE-12.2-Oss   
 | cmpi-bindings-ruby            | 套件     | 0.5.4-2.1.2       | i586   | openSUSE-12.2-Oss   
 | graphviz-ruby                 | 套件     | 2.28.0-10.5.2     | x86_64 | openSUSE-12.2-Update
 | graphviz-ruby                 | 套件     | 2.28.0-10.2.2     | x86_64 | openSUSE-12.2-Oss   
 | graphviz-ruby                 | 套件     | 2.28.0-10.5.2     | i586   | openSUSE-12.2-Update
 | graphviz-ruby                 | 套件     | 2.28.0-10.2.2     | i586   | openSUSE-12.2-Oss   
 | kdebindings3-ruby             | 套件     | 3.5.10-21.1.2     | x86_64 | openSUSE-12.2-Oss   
 | kdebindings3-ruby             | 套件     | 3.5.10-21.1.2     | i586   | openSUSE-12.2-Oss   
 | kross-ruby                    | 套件     | 4.8.5-1.4.1       | x86_64 | openSUSE-12.2-Update
 | kross-ruby                    | 套件     | 4.8.4-1.1.2       | x86_64 | openSUSE-12.2-Oss   
 | kross-ruby                    | 套件     | 4.8.5-1.4.1       | i586   | openSUSE-12.2-Update
 | kross-ruby                    | 套件     | 4.8.4-1.1.2       | i586   | openSUSE-12.2-Oss   
 | libcaca-ruby                  | 套件     | 0.99.beta18-4.1.2 | x86_64 | openSUSE-12.2-Oss   
 | libcaca-ruby                  | 套件     | 0.99.beta18-4.1.2 | i586   | openSUSE-12.2-Oss   
 | libstorage-ruby               | 套件     | 2.22.11-1.1.1     | x86_64 | openSUSE-12.2-Oss   
 | libstorage-ruby               | 套件     | 2.22.11-1.1.1     | i586   | openSUSE-12.2-Oss   
 | openwsman-ruby                | 套件     | 2.3.5-2.2.3       | x86_64 | openSUSE-12.2-Oss   
 | openwsman-ruby                | 套件     | 2.3.5-2.2.3       | i586   | openSUSE-12.2-Oss   
 | ruby                          | 套件     | 1.9.3-2.8.1       | x86_64 | openSUSE-12.2-Update
 | ruby                          | 套件     | 1.9.3-2.4.1       | x86_64 | openSUSE-12.2-Update
 | ruby                          | 套件     | 1.9.3-2.2.1       | x86_64 | openSUSE-12.2-Oss   
 | ruby                          | 套件     | 1.9.3-2.2.1       | x86_64 | openSUSE-12.2-1.6   
 | ruby                          | 套件     | 1.9.3-2.8.1       | i586   | openSUSE-12.2-Update



這邊則是加上 -s 顯示版本詳細資訊來確認 ruby 的版本, 目前看起來是 1.9.3, 符合我的目標.
接下來進行安裝的動作.


# zypper  install  ruby
正在載入套件庫資料...
讀取已安裝的套件...
正在解決套件相依性...


將會安裝下列新的套件:
 libyaml-0-2 ruby ruby19


3  新套件將被安裝.
全部下載大小: 3.8 MiB。 完成操作後,將增加 16.2 MiB 的使用。
要繼續嗎? [y/n/?] (y): y ( 請輸入 y進行安裝)


接下來可以使用 rpm 指令查詢相關資訊
# rpm  -qi   ruby
Name        : ruby
Version     : 1.9.3
Release     : 2.8.1
Architecture: x86_64
Install Date: 西元2013年09月09日 (週一) 18時17分17秒
Group       : Development/Languages/Ruby
Size        : 815
License     : MIT
Signature   : RSA/SHA256, 西元2013年08月30日 (週五) 21時48分36秒, Key ID b88b2fd43dbdc284
Source RPM  : ruby-1.9.3-2.8.1.src.rpm
Build Date  : 西元2013年08月22日 (週四) 20時29分29秒


或是 zypper 指令查詢也可以


# zypper  info   ruby
正在載入套件庫資料...
讀取已安裝的套件...



套件 ruby 的資訊:


套件庫: openSUSE-12.2-Update
名稱:ruby
版本:1.9.3-2.8.1
結構:x86_64
供應商: openSUSE
已安裝:是
狀態:最新


接下來就來測試 ruby 可否正常的運作吧.


# ruby  -e  'puts  "Hello world!!" '
Hello world!!


  • 上面的 -e 會執行 ruby 的程式碼
  • puts 則是會顯示後面的字串+換行符號(newline 字符)
  • 輸出的結果則是 Hello world!!


到這邊, 我們已經完成 ruby 程式安裝與小測


Fun with Day 5 ~

沒有留言: