Install Ruby 1.9 & Rails 2.3 on Ubuntu

Ruby on Rails 2.3 Release Notes列了一堆,不升上去玩玩怎行。但因為用 apt-get 只到 2.1,想要 2.3 只能手動安裝,裝之前我先把舊的都移乾靜,雖然沒移掉也沒差。

Install Ruby

http://www.ruby-lang.org/en/downloads/抓Ruby 1.9 下來,我抓的是Ruby 1.9.1-p129

// 在 /tmp/src 目錄下安裝
# mkdir -P /tmp/src 
# cd /tmp/src 

// 抓擋案下來,tar 開
# wget  ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p129.tar.gz
# tar zxvf ruby-1.9.1-p129.tar.gz 
# cd ruby-1.9.1-p129 

// 我要裝在 /usr/local/ruby-1.9.1 目錄下,先把目錄建好
# sudo mkdir -P /usr/local/ruby-1.9.1 

// config 設好路徑,make & install
# ./configure --prefix=/usr/local/ruby-1.9.1 
# sudo make && sudo make install

因為裝的位置自已給的,所以PATH要設一下,我加在/etc/profile

if [ -d "/usr/local/ruby-1.9.1/bin" ] ; then  
     PATH="/usr/local/ruby-1.9.1/bin:$PATH"  
fi

我自已的環境是tcsh,所以我在自已HOME目錄下的.cshrc加上:

set path = ($path /usr/local/ruby-1.9.1/bin)

你可以重登,或透過source來讓環境設定生效。再來確定我們是不是都裝好了:

# source /etc/profile
# source ~/.cshrc

// check ruby
# ruby -v 
ruby 1.9.1p129 (2009-05-12 revision 23412) [i686-linux]

// check gem
# gem -v
1.3.3

// check有裝了那些gem,沒有是正常的,因為我們什麼也還沒裝
# gem list
*** LOCAL GEMS ***

Install Rails

居然把gem裝好了,當然用gem來裝rails及需要的套件

// -y 這會把depend的一起裝起來
# sudo gem install rails -y
INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.2
Successfully installed activerecord-2.3.2
Successfully installed actionpack-2.3.2
Successfully installed actionmailer-2.3.2
Successfully installed activeresource-2.3.2
Successfully installed rails-2.3.2
7 gems installed
Installing ri documentation for rake-0.8.7...
Installing ri documentation for activesupport-2.3.2...
Installing ri documentation for activerecord-2.3.2...
Installing ri documentation for actionpack-2.3.2...
Installing ri documentation for actionmailer-2.3.2...
Installing ri documentation for activeresource-2.3.2...
Installing ri documentation for rails-2.3.2...
Updating class cache with 1382 classes...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for activesupport-2.3.2...
Installing RDoc documentation for activerecord-2.3.2...
Installing RDoc documentation for actionpack-2.3.2...
Installing RDoc documentation for actionmailer-2.3.2...
Installing RDoc documentation for activeresource-2.3.2...
Installing RDoc documentation for rails-2.3.2...

再來把rails 建一個捷徑到 /usr/bin/ 下,來check一下rails

# sudo ln -s /usr/local/ruby-1.9.1/bin/rails /usr/bin/rails

// check rails
# rails --version
Rails 2.3.2

看到版號就表示裝好了,來建一個test的prject:

# rails test
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
/usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:269:in `rescue in require_frameworks': no such file to load -- openssl (RuntimeError)
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:266:in `require_frameworks'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:134:in `process'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:113:in `run'
        from /home/beer/work/ror/kerio/config/environment.rb:9:in `'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `block in require'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
        from /usr/local/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/commands/server.rb:84:in `'
        from script/server:3:in `require'
        from script/server:3:in `
'

no such file to load -- openssl ??
我遇到這問題,沒有裝到 openssl 的ruby gem。若是用apt-get裝的,直接下sudo apt-get install libopenssl-ruby1.9 ,就解了,但因為我們是自已編的,所以我們得把source抓下來自已編:

// install openssl & get dev tool
# sudo apt-get install openssl libssl-dev

// 到剛剛的ruby source 目錄
# cd /tmp/src/ruby-1.9.1-p129/ext/openssl

// 跑conf檔建出Makefile
# ruby extconf.rb

// make install
# sudo make && sudo make install

Test

到這就都裝好了,跑一個 test project 看看

// test project
# rails test
# cd test
# script/server
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-05-24 19:03:22] INFO  WEBrick 1.3.1
[2009-05-24 19:03:22] INFO  ruby 1.9.1 (2009-05-12) [i686-linux]

打開Browser看http://localhost:3000/

rails.jpeg


Posted by beerlee88 at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(482)