Trong chương này, chúng tôi khái quát về ngôn ngữ lập trình Ruby.
Ubuntu là một hệ điều hành mã nguồn mở dựa trên GNU Debian Linux.
Việc học lập trình Ruby nên bắt đầu từ việc thiết lập môi trường phát triển cũng như cách thức cài đặt gói phân phối của Ruby.
Qua thực tế sử dụng, chúng tôi thấy rằng việc cài đặt qua một công cụ quản lý phiên bản Ruby (Ruby Version Management Tool) như rvm
hay rbenv
sẽ có nhưng thuận lợi đáng kể:
rvm
hay rbenv
, bạn có thể dễ dàng cài đặt một phiên bản Ruby mà bạn cầnTrong cuốn sách nhỏ này, chúng tôi hướng dẫn cách cài đặt và sử dụng Ruby với rbenv
trên hệ điều hành Ubuntu 14.04 LTS.
rbenv
được phát triển và duy trì bởi sstephenson trên trang dịch vụ lưu trữ Git repositories Github. Chúng ta sẽ sử dụng git
để cài đặt rbenv
.
Script để cài đặt rbenv
trên Ubuntu 14.04 như sau:
$ sudo apt-get install git
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Git là một công cụ quản lý phiên bản phân tán dựa trên mã nguồn mở. Phiên bản mới nhất là 2.4.1 (2015/05/19) và có thể download từ http://git-scm.com . Các thông tin thêm về Git có thể tìm thấy tại http://git-scm.com/about .
Để có thể sử dụng câu lệnh rbenv
mà không cần quan tâm tới đường dẫn tới thư mục ~/.rbenv
, bạn có thể thêm đường dẫn đó vào file ~/.bashrc
:
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
Bây giờ khởi động lại ứng dụng shell của bạn trên Ubuntu (mặc định là /bin/bash
), bạn có thể kiểm tra rbenv
$ type rbenv
rbenv is a function
rbenv ()
{
local command;
command="$1";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "`rbenv "sh-$command" "$@"`"
;;
*)
command rbenv "$command" "$@"
;;
esac
}
Để việc cài thêm một phiên bản mới của Ruby dễ dàng hơn, chúng tôi khuyến khích bạn cài đặt plugin ruby-build
của rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Bây giờ, bạn có thể dễ dàng cài đặt Ruby 2.2.0 như sau
# Lấy danh sách các phiên bản ruby có thể cài đặt
$ rbenv install -l
# Cài đặt ruby 2.2.0
$ rbenv install 2.2.0
Việc cài đặt sẽ mất một thời gian ngắn. Sau khi hoàn tất việc cài đặt, bạn có thể thiết lập để phiên bản 2.2.0 là phiên bản chung trên máy của bạn:
$ rbenv global 2.2.0
hoặc chỉ thiết lập phiên bản Ruby cho một thư mục nào đó
$ cd folder
$ rbenv local 2.2.0
# để bỏ thiết lập phiên bản Ruby cho folder
$ rbenv local --unset
Để kiểm tra các phiên bản Ruby có trong máy
# Lấy danh sách tất cả các Ruby trên máy
$ rbenv versions
# Lấy tên phiên bản Ruby đang được thiết lập mặc định trên máy
$ rbenv version
Các thông tin về các thiết lập và câu lệnh khác của rbenv
có thể được tìm thấy tại đây.
Trong cuốn sách nhỏ này, chúng ta sử dụng Ruby 2.2.0 là phiên bản Ruby chính trong các bài tập.
Các thay đổi của phiên bản Ruby 2.2.0 có thể được tìm thấy tại trang chủ của Ruby.
Gem là gì? khái niệm package (gói) trong UNIX có thể là khái niệm gần gũi nhất với gem. Đối với một ngôn ngữ lập trình như Ruby, việc xây dựng các ứng dụng kết nối các tiện ích như SQL, networking, ... là rất cần thiết. Để thực hiện việc này, chúng ta có thể dùng các gem của Ruby. Gem như một "plug-in" của Ruby, bạn chỉ cần cài đặt gem cần thiết vào máy (ví dụ gem mysql2
), khi cần sử dụng, bạn require mysql2
và bạn có thể sử dụng các chức năng của mysql2
trong chương trình Ruby của mình.
Sau khi cài đặt Ruby thành công, mặc định là bạn có thể chạy câu lệnh gem
trên môi trường của bạn.
Một danh sách khá đầy đủ về các gem được phát triển bởi RubyGems có thể tìm thấy tại: https://rubygems.org/gems.
Cách sử dụng đầy đủ của câu lệnh gem
có thể tìm thấy tại: http://guides.rubygems.org/command-reference/.
Một vài câu lệnh cơ bản như sau:
# Tìm kiếm một gem
$ gem search <biểu diễn chính quy (regular expression)>
$ gem search ^rails
# Cài đặt một gem
$ gem install <tên gem> [tuỳ chọn] -- --build-flags [tuỳ chọn build]
$ gem install mysql2 -v 0.3.18
# Gỡ bỏ một gem
$ gem uninstall mysql2
# Xem danh sách các gem trên máy
$ gem list
Tips
Mặc định của
gem
sẽ cài đặt tài liệu hướng dẫn nên sẽ khá mất thời gian cho việc cài đặt cả gem. Nếu bạn không thường xuyên tham khảo tài liệu hướng dẫn trên ứng dụng shell (bạn vẫn có thể xem tài liệu hướng dẫn trên trang chủ của RubyGems) và muốn tiết kiệm thời gian cài đặt, chúng tôi khuyến cáo bạn thiết lập mặc định không tự động cài đặt tài liệu hướng dẫn như sau:# Với Ruby 1.8, 1.9, 2.0 $ echo "--no-ri --no-rdoc" >> ~/.gemrc # Với Ruby sau 2.1 $ echo "--no-document" >> ~/.gemrc
Đối với trường hợp cài đặt tài liệu hướng dẫn, sau đây là một số câu lệnh cơ bản:
# Xem tài liệu hướng dẫn của một gem trên shell $ ri RBTree RBTree < MultiRBTree (from gem rbtree-0.4.0) ------------------------------------------- A sorted associative collection that cannot contain duplicate keys. RBTree is a subclass of MultiRBTree. -------------------------------------------
Bạn cũng có thể truy cập tài liệu hướng dẫn từ trình duyệt web:
$ gem server Server started at http://[::]:8808
Sau đó bạn sẽ truy cập tài liệu hướng dẫn tại: http://localhost:8808/