Posted on 

Ruby 初體驗/安裝Ruby開發環境@Scientific Linux 6.2

新增 epel 的 yum repository

1
$ rpm -ivh [http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm](http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm)

透過 yum 安裝底下的 ruby 套件

1
$ yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql

查看 ruby 版本,如果出現版號則安裝成功

1
2
$ ruby -v  
ruby 1.8.7 (2011-06-30 patchlevel 352) \[x86\_64-linux\]

下載 rubygems (Ruby 的套件管理員,下載到本機的目錄不限)

1
$ wget [http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz](http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz)

解壓縮 rubygems。

切換到 rubygems 的目錄裡。

執行 ruby setup.rb 安裝 rubygems。

1
2
3
$ tar -zvxf rubygems-1.3.1.tgz  
$ cd rubygems-1.3.1
$ ruby setup.rb

若安裝編譯中途遇到缺少 C 或 C++ 或 make 之類的請安裝下列套件

1
$ yum -y install gcc automake autoconf libtool make

安裝完成後驗證是否安裝成功,輸入 gem -v 是否有版號出現

1
2
$ gem -v  
1.3.1

將 gem 更新到最新版,並查看版號是否有變動。

1
2
3
$ gem update --system  
$ gem -v
1.8.18

安裝版本 3.0.7 的 Rails (Ruby 的 MVC Framework)。

1
$ gem install -v=3.0.7 rails

安裝完成並驗證安裝是否成功,查看是否有版號出現。

1
2
$ rails -v  
Rails 3.0.7

安裝 Ruby 的 MySQL Adapter。

注意!
如果您的 Rails 版本在 3.1.x 以下,gem install mysql2 時請使用 0.2.x 的版本, 本例使用 0.2.7 的 adapter。反之,若為 3.1.x 以上的使用者,可以不用下 -v 的指令,即會為您安裝最新版的 mysql2 adapter,或者指定使用其他版本也行。

1
2
$ yum install mysql-devel mysql-server mysql  
$ gem install mysql2 -v 0.2.7

到你想要開發 Ruby 的專案目錄下,新增一個 MyProject (可隨意命名),並指定使用MySQL資料庫,然後會出現一大堆create的訊息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ rails new MyProject -d mysql  
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/controllers/application\_controller.rb
...
...
...

create vendor/plugins/.gitkeep

修改 MyProject/config/database.yml

1
$ vim MyProject/config/database.yml

填上資料庫要使用的帳號密碼(大寫部份),socket: /var/lib/mysql/mysql.sock 這一行可換成 host: 127.0.0.1

1
2
3
4
5
6
7
8
9
development:  
adapter: mysql2
encoding: utf8
reconnect: false
database: MyProject\_development
pool: 5
username: USERNAME
password: PASSWORD
host: 127.0.0.1

因本例使用的 rails 與 mysql2 adapter 版本分別為 3.0.7 與 0.2.7,則須修改 MyProject/Gemfile 第8行後面,加入,’~>0.2.7’。
注意! Rails 版本為 3.1.x 以上者請忽略此步。

1
$ vim MyProject/Gemfile

Line 8:

1
gem 'mysql2','~>0.2.6'

修改完成之後,切換目錄到 MyProject 底下,下 #bundle install 就會將你的檔案編譯,直到最後一條訊息出現,即完成 bundle。

1
2
3
4
5
6
$ bundle install  
Using ...
Using ...
...
...
Your bundle is complete! Use \`bundle show \[gemname\]\` to see where a bundled gem is installed.

下 rails server 即可開啟測試伺服器以觀賞最後執行結果。

1
2
3
4
5
6
7
8
$ rails server  
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on [http://0.0.0.0:3000](http://0.0.0.0:3000)
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-03-14 11:48:13] INFO WEBrick 1.3.1
[2012-03-14 11:48:13] INFO ruby 1.8.7 (2011-06-30) [x86_64-linux]
[2012-03-14 11:48:13] INFO WEBrick::HTTPServer#start: pid=3559 port=3000

打開瀏覽器,輸入 http://(ruby主機的ip):3000/ 出現以下畫面就完成基本的 Ruby 開發環境了!

1
$ gem install mysql2 -- --with-mysql-lib=/usr/lib64/mysql/libmysqlclient.so.16 --with-mysql-include=/usr/bin/mysql