安裝Rails開發環境

安裝Rails開發環境

Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime. - David Leinweber

在這一章中,我們將介紹如何安裝Ruby on Rails的開發環境。開發Rails的環境需要:

  • Ruby 1.8.71.9.2以上版本或JRuby,本書使用1.9.3
  • RubyGems,這是Ruby的套件管理系統,本書推薦1.3.7版或1.8.10以上。
  • 資料庫系統,本書推薦使用SQLite作為新手開發練習之用,正式環境則推薦MySQLPostgreSQL
  • Ruby on Rails,本書適用3.2版本。

請注意Rails 3不支援Ruby 1.9.1這個版本。

Ruby 1.9系列和之前版本的最大的差異在於編碼的處理,例如:如果原始碼裡出現UTF-8中文,檔案第一行必須加上# encoding: utf-8 標明,不然會出現invalid multibyte char (US-ASCII)的錯誤,這一點要特別注意。

JRubyRuby最大的差異在於一些需要編譯的RubyGem套件:有些因為效能要求而用C語言撰寫的RubyGem在 JRuby上不一定能夠安裝使用。所幸這些多半都有替代的套件可以使用,但不在本書介紹範圍。

以上差不多就是最基本的開發需求。如果需要部署到正式環境,則至少還需要一個專門的網站伺服器(ApacheNginx等),我們會在佈署一章再詳細說明。接下來我們會根據不同作業系統來說明如何安裝Rails開發環境。

作業系統

Ruby可以運行在WindowsLinuxMac OS XBSDSolaris上。雖然Rails可以在Windows上執行,但是有些套件只有支援Unix-like作業系統,以及Ruby程式在Unix-like系統上執行起來也比較快速及穩定。這是因為絕大多數的RubyRails開發人員都是使用MacLinux系統。

Unix-like泛指各種傳統的Unix系統,比如FreeBSDOpenBSDSolaris,以及各種與Unix類似的系統,例如LinuxMac OS X等等。有的是自由軟體,有的是商業軟體,但都相當程度地保留了原始Unix系統的特性,以及有許多相似之處。

因此,Rails的正式上線環境中都會強烈建議使用Unix-like作業系統。作為開發人員,擁有良好使用者介面、底層又與Unix類似的Mac作業系統就變成了首選的開發平台,大部分的專業Ruby工作者,也都是使用Mac電腦。不過,使用Windows的朋友也別擔心,本書的內容一樣都適用,入門學習絕對沒問題。只是如果讀者的每日工作就是進行Web網站開發,那麼我會建議您考慮使用Mac系統或試試Ubuntu Desktop作業系統。和學習Ruby一樣,從 Windows轉換到Mac也是非常有趣的事情,可以獲得不少樂趣。

這是使用開源軟體需要考慮的因素:開源軟體是靠社群維護的,因此較多人使用的主流平台(作業系統、資料庫等)就會支援較佳,而越少人用的平台就會地雷較多。

資料庫

Rails支援的資料庫包括SQLite3MySQLPostgresIBM DB2OracleSQL Server等。除了安裝資料庫軟體,我們也需要安裝搭配的Ruby函式庫(稱作AdapterDriver)。作為新手的單機練習,使用SQLite就可以了,本章會先介紹SQLite的安裝方式。附錄則會介紹如何安裝MySQLPostgreSQL

開發環境

命令列視窗

有許多工作需要透過指令列介面(Command Line Interface)完成,像是安裝套件、執行rails指令、執行測試等等。雖然有一些GUI圖型介面工具可以輔助,但是到頭來你會發現還是直接在指令列輸入最快最可靠,發生問題的時候也容易除錯。

Mac OS下要進入命令列視窗,請打開Go->Utilities中的Terminal,或是筆者推薦可以安裝iTermUbuntu Desktop下是Applications->Accessories下的TerminalWindows則是「開始->附屬應用程式」中的「命令提示字元」。

Unix-like的指令和Windows的指令很多是不同的,以下是一些常用的指令:

用途Unix-likeWindows
移動所在目錄cd XXXcd XXX
移動到上一層目錄cd ..cd ..
顯示目前所在目錄pwdcd
顯示目前目錄的檔案lsdir
刪除檔案rm XXXerase XXX
刪除目錄rmdir XXXrmdir XXX
建立目錄mkdir XXXmkdir XXX

另外,在輸入檔名或目錄名時,可以按tab來自動完成。

開發軟體

在開始寫點程式之前,讓我們先介紹一下有什麼推薦的編輯器。相較於靜態語言如C++、Java喜歡功能豐富的IDE(Integrated Development Environment)軟體,動態語言雖然也有一些IDE軟體,但是更多人比較偏好簡單的文字編輯器(Editor)加上命令列視窗就可以打遍天下。這是因為對表達能力強的動態語言來說,IDE提供的自動產生程式碼、編譯程式、複雜的瀏覽功能等等都不是這麼需要。

Editor文字編輯器
IDE軟體

無論用什麼編輯器,請注意檔案的格式要儲存成UTF-8,無BOM(byte-order mark)表頭。

版本控制系統

版本控制系統可以保存所有的程式變更,記錄誰改變什麼、在什麼時候、因為什麼原因,是團隊開發不可或缺的協同工具。Ruby社群普遍使用Git這套分散式版本控制系統。雖然學習Rails不必要學會Git,但是因為Rails本身以及絕大部分的相關套件都是使用Git版本控制系統、並放在GitHub上。所以你最好還是安裝有Git並學會基本的操作。關於Git的介紹請參考附錄。

安裝Ruby及資料庫

以下是分別在WindowsMac OSXUbuntu Desktop作業系統上,安裝Ruby最快速方便的方式。在上手Rails的開發之後,可以再參考附錄,依需求安裝不同開發環境。

Windows

Windows上開發Rails最快的方式是下載RailsInstaller安裝包,這就包含了Ruby 1.9.3Rails 3.2SQLite 3Git版本控制系統以及SQL Server Adapter。可以讓你在很短的安裝時間內就開始上手Rails

使用Git版本控制系統請參閱附錄。

Mac OS X

為了順利安裝一些需要編譯的套件,你必須先安裝XcodeXCode 4.3之後的版本,還必須手動安裝Command Line Tools,請從Xcode menu > Preferences > Downloads進入安裝。

接下來安裝Homebrew來管理MacOS上的套件,這可以方便安裝一些常用的工具軟體,例如GitMySQLSQLite,甚至是MemcachedSphinxRedisMongoDB等等都可以透過Homebrew安裝。本書的Mac安裝步驟中會使用到Homebrew,它的安裝步驟是執行:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Homebrew也是用Ruby程式語言撰寫的。另一個比較老牌的套件管理工具是MacPort

Snow LeopardLion內建了Ruby 1.8.7,所以這裡透過Homebrew安裝新的Ruby 1.9.3GitSQLite

$ brew install git
$ brew install sqlite
$ brew install ruby

輸入以下指令加入PATH(不同Ruby版本路徑會不同,請依照裝完brew install ruby之後的提示):

$ echo 'export PATH=/usr/local/Cellar/ruby/1.9.3-p327/bin:$PATH' >> ~/.bash_profile
$ export PATH=/usr/local/Cellar/ruby/1.9.3-p327/bin:$PATH

安裝完成之後輸入以下指令可以看到安裝的版本:

$ git --version
git version 1.8.0.2
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.1]
Linux(Ubuntu 10.04 LTS)

首先進行Linux更新:

$ sudo apt-get update
$ sudo apt-get upgrade

安裝必要的套件:

$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev

接著下載Ruby原始碼編譯,請參考Ruby官網下載最新1.9版本:

$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
$ tar xvfz ruby-1.9.3-p327.tar.gz
$ cd ruby-1.9.3-p327/
$ ./configure
$ make
$ sudo make install

安裝完成之後輸入以下指令可以看到安裝的版本:

$ git --version
git version 1.7.0.4
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

SQLite Manager是一套Firefox plugin提供 SQLiteGUI操作介面,可以用來方便檢視資料庫的內容。

中文版Ubuntu的預設apt-get套件伺服器tw.archive.ubuntu.com有時候不太穩,必要時你可以修改/etc/apt/sources.list換成debian.nctu.edu.twarchive.ubuntu.com

RubyGems簡介

RubyGemsRuby的套件管理系統,讓你輕易安裝及管理Ruby函式庫。你可以在RubyGems上找到所有的Ruby開源套件。另外,讀者如果想找RubyRails有哪些好用的套件,也可以瀏覽看看The Ruby Toolbox,這個站依照套件的熱門程度排序,非常方便。

常用指令
gem -v 告訴你 RubyGems 的版本
gem update --system 升級RubyGems的版本
gem install gem_name 安裝某個套件
gem list 列出安裝的套件
gem update gem_name 更新最新版本
gem update 更新所有你安裝的Gems
gem install -v x.x.x gemname 安裝特定版本
gem uninstall gem_name 反安裝

執行gem install gem_name的時候,它會在安裝完之後,自動產生此套件的RDocri文件。不過有鑑於目前網路發達,往往直接 Google或是在http://rdoc.infohttp://api.rubyonrails.orghttp://www.ruby-doc.org/core/就可以查詢到文件,所以其實不太需要在本地端機器產生文件,況且安裝的時間耗時又佔硬碟空間。要省略這個步驟,有兩種方式:

每次安裝時,加上以下參數:

$ gem install gem_name --no-ri --no-rdoc

或是新增一個~/.gemrc檔案內容如下,預設就不產生文件:

gem: --no-ri --no-rdoc

Linux的使用者需要加上sudo,例如sudo gem install gemname

安裝Ruby on Rails

首先是SQLiteAdapter

$ gem install sqlite3 --no-ri --no-rdoc

最後是安裝Rails了:

$ gem install rails --no-ri --no-rdoc

完成之後,輸入rails -v你應該會看到Rails 3.2.1

Ubuntu下需要用root權限安裝套件:sudo gem install rails

為了節省安裝時間可不安裝文件檔,這裡加上--no-ri--no-rdoc參數。

 

http://ihower.tw/rails3/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值