ขั้นตอนการติดตั้ง Ruby on Rails บน Ubuntu
วันนี้จะมานำเสนอ วิธีการติดตั้ง Ruby on Rails บนเครื่อง Ubuntu ครับ หลังจากใช้เวลาลองผิดลองถูก นับแรมปี ติดตั้งมาก็หลายรอบแล้ว ก็เลยตัดสินใจทำเป็นบทความซะเลย เผื่อจะมีผู้ที่ผ่านมา สนใจ หรือกำลังหาวิธีการติดตั้งอยู่ ก็ทำตามขั้นตอน ตามนี้ได้เลยครับ
Step 1 : Install Git
ขั้นแรก จงทำการติดตั้ง git ซะ (git คือ version control)
sudo apt-get install git-core
หลังจากนั้น ก็ทำการ เซ็ทอัพ git โดยเปลี่ยน "name" เป็นชื่อของผู้อ่าน และ "email" เป็นอีเมล์ผู้อ่านซะ อันนี้ถ้าลืมอีเมล์หรือชื่อตัวเอง ก็ช่วยไม่ได้นะ :>
git config --global user.name "name"
git config --global user.email "email"
ลองตรวจสอบ ด้วยคำสั่ง
git config --get user.name
ผลลัพธ์จะต้องได้เป็นชื่อที่ผู้อ่านได้ทำการต้้งไว้ และลองตรวจสอบด้วยคำสั่งนี้ เพื่อแสดงผลลัพธ์ของอีเมล์ที่ตั้งไว้
git config --get user.email
ผลลัพธ์จะได้จะเป็นอีเมล์ที่ได้ทำการตั้งค่าไว้ก่อนหน้านี้นะ มิเช่นนั้น แสดงว่าตั้งค่าผิด กลับไปทำดูใหม่นะ
Step 2 : Install RVM
ติดตั้ง RVM คือ Ruby Version Manager เป็นเครื่องมือสำหรับบริหารจัดการเวอร์ชันสำหรับ Ruby ซึ่งช่วยให้ผู้อ่านสามารถเปลี่ยนเวอชั่น Ruby หรือไปใช้ในโปรเจคอื่นๆทำได้ง่าย (อีกตัวที่ได้ความนิยมไม่แพ้กัน นั่นก็คือ rbenv แต่ว่าส่วนตัวยังไม่เคยใช้ ก็เลยไม่รู้จะบอกยังไง ฮ่ะ ฮ่า หากผู้อ่านท่านใด ต้องการจะลงด้วย rbenv ก็ข้ามขั้นตอนนี้ไปได้)
sudo apt-get install curl
curl -L get.rvm.io | bash -s stable
เมื่อเจอข้อความประมาณนี้ แสดงว่ากำลังจะติดตั้ง RVM เสร็จสมบูรณ์แล้ว แต่ยัง.. ช้าก่อน อย่าเพิ่งชะล่าใจนัก
# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'
Installation of RVM in /home/devahoy/.rvm/ is almost complete:
* To start using RVM you need to run `source /home/devahoy/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
# devahoy,
#
# Thank you for using RVM!
# I sincerely hope that RVM helps to make your life easier and
# more enjoyable!!!
#
# ~Wayne
จะมีข้อความบอกไว้ ว่า การติดตั้ง เกือบจะ เสร็จแล้ว เห็นไหมละ ว่ายังไม่เสร็จนะ ดูให้ดีๆด้วย หากต้องการสั่งให้ RVM ทำงาน ให้ สั่ง run source/home/devahoy/.rvm/scripts/rvm
นั่นก็คือ path ที่อยู่ที่เครื่องของผู้อ่านนั่นเอง จัดการสั่งรันคำสั่ง เพื่อให้ RVM ทำงาน โดย path ที่อยู่แต่ละเครื่องก็จะแตกต่างกันไป
source /home/devahoy/.rvm/scripts/rvm
ทดสอบ
rvm -v
ผลลัพธ์ที่ได้ ต้องเป็นแบบนี้ (ณ เวลาที่เขียนบทความ คือ version 1.25.15) หากได้เวอร์ชั่นที่สูงกว่า ก็ไม่ต้องแปลกใจไป
rvm 1.25.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>,
Michal Papis <mpapis@gmail.com> [https://rvm.io/]
ทดสอบ ดู requirements ของ rvm (ขั้นตอนนี้ rvm จะทำการ check ว่า มันยังขาด library อะไรที่จำเป็นอีกบ้าง)
rvm requirements
ผลลัพธ์จะได้หน้าตาประมาณนี้ ตัวโปรแกรม แล้วแต่เครื่องของผู้อ่าน หากบางเครื่องมีการติดตั้ง library/dependencies อื่นไปแล้ว ก็จะไม่จำเป็นต้องติดตั้งอีก
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev
libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
แต่หากว่าไม่มีอะไรขาด ก็จะขึ้นประมาณนี้
Checking requirements for ubuntu.
Requirements installation successful.
Step 3 : Install Ruby
ขั้นตอนนี้ก็ติดตั้ง Ruby ผ่านทาง RVM หากต้องการรู้ว่า RVM สามารถติดตั้งอะไรได้บ้าง ใช้คำสั่ง
rvm list known
จะได้รายชื่อโปรแกรม และเวอร์ชั่นที่ผู้อ่านจะสามารถติดตั้งได้
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p484]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p353]
[ruby-]2.1.0
[ruby-]2.1.0-head
ruby-head
ติดตั้ง ruby (หากไม่กำหนดเลขเวอร์ชั่น ก็จะเป็นการติดตั้งเวอร์ชั่นล่าสุด)
rvm install ruby
หากขึ้นข้อความแบบข้างล่างนี้ ให้กด Q จากนั้นนั่งรอการติดตั้ง ซักพักนึงประมาณ 5 นาที หรือว่าขึ้นอยู่กับความเร็วเนตก็ไม่แน่ใจนัก
Ruby (and needed base gems) for your selection will be installed shortly.
Before it happens, please read and execute the instructions below.
Please use a separate terminal to execute any additional commands.
Requirements for Linux "Ubuntu 13.10"
NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)
This is the *original* / standard Ruby Language Interpreter
'ree' represents Ruby Enterprise Edition
'rbx' represents Rubinius
bash >= 4.1 required
curl is required
git is required (>= 1.7 for ruby-head)
patch is required (for 1.8 rubies and some ruby-head's).
To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head),
then you must install and use rvm 1.8.7 first.
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
# For JRuby, install the following:
jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
# For IronRuby, install the following:
ironruby: /usr/bin/apt-get install curl mono-2.0-devel
เมื่อติดตั้งเสร็จ ก็เลือกใช้ เวอร์ชั่นของ Ruby ที่ต้องการ ผมเลือกใช้ ruby version 2.1.0
rvm use 2.1.0
หากมีปัญหา ขึ้นดังข้างล่าง
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
ให้แก้ไขโดย เปิด Terminal (Ctrl + Alt + T) เลือก Edit -> **Profile Preferences ** จากนั้นคลิ๊กแท็ป Title and Command ในส่วน Command เลือก Run command as a login shell ปิดและเปิด Terminal ใหม่อีกครั้ง
ทดสอบคำสั่ง use อีกครั้ง
rvm use 2.1.0
หากไม่มี error จะได้ผลลัพธ์ประมาณนี้
Using /home/devahoy/.rvm/gems/ruby-2.1.0
ตอนนี้ติดตั้ง ruby เวอร์ชั่นล่าสุดเรียบร้อยแล้ว ต่อไป ก็ต้องบอก System ให้รู้ซะว่าผู้อ่านจะใช้เวอร์ชั่นนี้แหละ เป็นค่า default ไม่บอกมัน มันไม่รู้นะ :)
rvm --default use 2.1.0
ทดสอบ
ruby -v
จะได้ผลลัพธ์ดังนี้ เป็นอันเสร็จสิ้นการติดตั้ง ruby
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
Step 4 : Install Rails
Rails ใช้เวลาในการติดตั้งนานพอสมควรเลย น่าจะนานกว่า ruby อีก (หรือว่าอาจจะขึ้นอยู่กับความเร็วอินเตอร์เนต ไม่แน่ใจ เพราะมีการดาวน์โหลดพวก dependencies ต่างๆด้วย)
gem install rails
เพิ่ม javascript runtime โดยในที่นี้ ใช้ nodejs ซึ่งใช้การติดตั้งแบบ PPA เลย เพื่อความสะดวก และมีการอัพเดทอยู่เสมอ นะ จะบอกให้
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
หาก ผู้อ่านไม่ได้ทำการติดตั้ง nodejs เวลาสั่งรันเซิฟเวอร์ อาจจะมีปัญหาได้
Step 5 : First App
ตอนนี้ขั้นตอนการติดตั้ง Ruby และ Rails ก็เรียบร้อยแล้ว ต่อไปจะลองให้ผู้อ่านได้ทำการทดสอบสร้าง application แรก ด้วย Ruby on Rails กันเลย การสร้าง application จะใช้คำสั่ง rails new ตามด้วยชื่อ application ตามนี้
rails new AppRails
ตัว Rails จะเริ่มทำการสร้างไฟล์ให้เราแล้ว
create test/helpers
create test/helpers/.keep
create test/integration
create test/integration/.keep
create test/test_helper.rb
create tmp/cache
create tmp/cache/assets
create vendor/assets/javascripts
create vendor/assets/javascripts/.keep
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
run bundle install
รอ bundle install ซักครู่ จนขึ้นข้อความข้างล่าง
Your bundle is complete! Use `bundle show [gemname]`
to see where a bundled gem is installed.
ตอนนี้ server ของผู้อ่านก็ติดตั้งพร้อมแล้ว ต่อไปสั่ง run server เพื่อจะดูผลลัพธ์
cd AppRails/
rails server
rails s คือคำสั่งแบบสั้น เพื่อสั่งให้ เซิฟเวอร์ เริ่มทำงาน
จะปรากฎข้อความด้านล่าง แสดงว่า รันเซิฟเวอร์ได้แล้ว
=> Booting WEBrick
=> Rails 4.0.2 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-03-03 19:15:52] INFO WEBrick 1.3.1
[2014-03-03 19:15:52] INFO ruby 2.0.0 (2013-11-22) [x86_64-linux]
[2014-03-03 19:15:52] INFO WEBrick::HTTPServer#start: pid=7320 port=3000
ลองเข้า http://0.0.0.0:3000 หรือ http://localhost:3000 ผลลัพธ์จะได้แบบนี้ เป็นอันเรียบร้อย
References :
- Authors
- Name
- Chai Phonbopit
- Website
- @Phonbopit