Cách cài đặt Ruby on Rails với rbenv trên Ubuntu 16.04

4 năm trước

Giới thiệu

Ruby on Rails là một trong những ngăn xếp ứng dụng phổ biến nhất cho các nhà phát triển đang tìm cách tạo trang web và ứng dụng web. Ngôn ngữ lập trình Ruby, kết hợp với khung phát triển Rails, làm cho việc phát triển ứng dụng trở nên đơn giản.

Bạn có thể dễ dàng cài đặt Ruby và Rails bằng công cụ dòng lệnh rbenv. Sử dụng rbenv sẽ cung cấp một môi trường vững chắc để phát triển các ứng dụng Ruby on Rails vì nó sẽ cho phép bạn dễ dàng chuyển đổi các phiên bản Ruby, giữ toàn bộ nhóm trên cùng một phiên bản. Kho dự án nằm trên GitHub.

rbenv cung cấp hỗ trợ xác định các phiên bản ứng dụng cụ thể của Ruby, cho phép bạn thay đổi Ruby toàn cầu cho mỗi user, và sử dụng một biến môi trường để ghi đè lên phiên bản Ruby.

Hướng dẫn này sẽ cho bạn biết qua quá trình cài đặt Ruby và Rails thông qua rbenv.

 

Điều kiện tiên quyết

Để làm theo hướng dẫn, bạn cần:

  • Một Ubuntu 16.04 server với một non-root user.
  • Node.js được cài đặt bằng PPA chính thức. Một vài tính năng của Rails, chẳng hạn như Asset Pipeline, phụ thuộc vào JavaScript runtime. Node.js cung cấp chức năng này.
 

Cập nhật và cài đặt các phụ thuộc

Đầu tiên, chúng ta nên cập nhật apt-get vì là lần đầu sử dụng apt trong phần này. Điều này sẽ đảm bảo rằng bộ nhớ cache gói cục bộ được cập nhật.

sudo apt-get update 

Tiếp theo, hãy cài đặt các phụ thuộc cần thiết cho rbenv và Ruby với apt-get:

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev 

Khi đã cài đặt tất cả các phụ thuộc hệ thống được yêu cầu, chuyển sang cài đặt rbenv.

 

Cài đặt rbenv

Bây giờ chúng ta đã sẵn sàng cài đặt rbenv. Hãy sao chép kho chứa rbenv từ git. Bạn nên hoàn tất các bước này từ tài khoản người dùng định chạy Ruby.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv 

Từ đây, bạn nên thêm ~/.rbenv/bin vào $PATH để sử dụng tiện ích dòng lệnh của rbenv. Thêm ~/.rbenv/bin/rbenv init vào tập tin ~/.basrc của bạn sẽ cho phép tải rbenv tự động.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc 
echo 'eval "$(rbenv init -)"' >> ~/.bashrc 

Tiếp theo, rbenv nguồn bằng cách gõ:

source ~/.bashrc 

Bạn có thể kiểm tra xem liệu rbenv đã được thiết lập đúng chưa bằng cách sử dụng lệnh type, nó sẽ hiển thị thêm thông tin về rbenv:

type rbenv 

Cửa sổ cuối của bạn sẽ xuất ra như sau:

Output
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 
}

Để sử dụng lệnh rbenv install, đơn giản hóa quá trình cài đặt cho các phiên bản mới của Ruby, bạn nên cài đặt ruby-build, như một plugin cho rbenv thông qua git:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build 

Tại thời điểm này, nên cài đặt cả rbenv và ruby-build, và chúng ta chuyển sang cài đặt Ruby.

 

Cài đặt Ruby

Với plugin ruby-build rbenv hiện được cài đặt, chúng ta có thể cài đặt bất cứ phiên bản Ruby nào có thể cần thông qua một lệnh đơn giản. Đầu tiên, hãy liệt kê tất cả các phiên bản Ruby có sẵn:

rbenv install -l 

Đầu ra của lệnh đó phải là một danh sách dài các phiên bản mà bạn có thể chọn để cài đặt.

Bây giờ chúng ta sẽ cài đặt một phiên bản Ruby cụ thể. Điều quan trọng cần lưu ý là việc cài đặt Ruby có thể là một quá trình dài, vì vậy hãy chuẩn bị mất một chút thời gian để hoàn thành.

Ví dụ ở đây, hãy cài đặt Ruby phiên bản 2.5.0, và sau khi xong, chúng ta có thể thiết lập nó làm phiên bản mặc định với lệnh phụ global:

rbenv install 2.5.0 
rbenv global 2.5.0

Nếu muốn cài đặt và sử dụng một phiên bản khác, chỉ cần chạy các lệnh rbenv với một số phiên bản khác, như trong rbenv install 2.3.0  và rbenv global 2.3.0.

Xác minh rằng Ruby đã được cài đặt đúng bằng cách kiểm tra số phiên bản:

ruby -v 

Nếu đã cài đặt phiên bản 2.5.0 của Ruby, đầu ra vào lệnh trên sẽ như sau:

Output
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux] 

Bạn hiện đã cài đặt ít nhất một phiên bản Ruby và cài đặt phiên bản Ruby mặc định của bạn. Tiếp theo, chúng ta sẽ thiết lập gem và Rails.

 

Làm việc với Gems

Gems là các gói mở rộng chức năng của Ruby. Chúng ta sẽ cài đặt Rails thông qua lệnh gem.

Vì vậy, quá trình cài đặt Rails ít lâu hơn, chúng ta sẽ tắt tài liệu cục bộ cho mỗi gem cài đặt. Chúng ta cũng sẽ cài đặt bundler gem để quản lý các phụ thuộc ứng dụng:

echo "gem: --no-document" > ~/.gemrc 
gem install bundler 

Bạn có thể sử dụng lệnh gem env (lệnh phụ env là viết tắt của environment) để tìm hiểu thêm về môi trường và cấu hình của gem. Bạn có thể kiểm tra vị trí nơi gems đang được cài đặt bằng cách sử dụng đối số home, sẽ hiển thị đường dẫn đến nơi gems được cài đặt trên máy chủ của bạn.

gem env home 

Đầu ra sẽ giống như thế này, với sammy là tên user:

/home/sammy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0

Một khi đã thiết lập gems, chúng ta có thể chuyển sang cài đặt Rails.

 

Cài đặt Rails

Với cùng một user, bạn có thể cài đặt phiên bản mới nhất của Rails bằng lệnh gem install:

gem install rails 

Nếu muốn cài đặt một phiên bản Rails cụ thể, bạn có thể liệt kê các phiên bản Rails hợp lệ bằng cách thực hiện tìm kiếm, điều này sẽ xuất ra một danh sách dài các phiên bản có thể. Sau đó, chúng ta có thể cài đặt một phiên bản cụ thể, chẳng hạn như 4.2.7:

gem search '^rails$' --all 
gem install rails -v 4.2.7

rbenv hoạt động bằng cách tạo thư mục shims, trỏ đến các tệp đượcsử dụng bởi phiên bản Ruby hiện đang được kích hoạt. Thông qua lệnh phụ rehash, rbenv duy trì shims trong thư mục để khớp với mọi lệnh Ruby trên mọi phiên bản Ruby đã cài đặt trên máy chủ của bạn. Bất cứ khi nào cài đặt phiên bản mới của Ruby hoặc một gem cung cấp các lệnh, như Rails, nên chạy:

rbenv rehash 

Xác minh Rails được cài đặt đúng cách bằng cách in phiên bản của nó, với lệnh này:

rails -v 

Nếu nó được cài đặt đúng cách, bạn sẽ thấy phiên bản Rails đã được cài đặt:

Output
Rails 5.1.5 

Tại thời điểm này, bạn có thể bắt đầu thử nghiệm cài đặt Ruby on Rails và phát triển các ứng dụng web.

 

Cập nhật rbenv

Khi cài đặt rbenv theo cách thủ công bằng git, chúng ta có thể nâng cấp cài đặt của mình lên phiên bản mới nhất bất cứ lúc nào:

cd ~/.rbenv 
git pull 

Điều này đảm bảo rằng chúng ta đang sử dụng phiên bản mới nhất của rbenv có sẵn..

 

Gỡ cài đặt các phiên bản Ruby 

Khi tải xuống nhiều phiên bản Ruby hơn, bạn có thể tích lũy nhiều phiên bản hơn so với thư mục   ~/.rbenv/versions

Sử dụng plugin ruby-build để tự động hóa quy trình xóa với lệnh phụ uninstall. Ví dụ, gõ lệnh này sẽ gỡ cài đặt phiên bản Ruby 2.1.3:

rbenv uninstall 2.1.3

Với lệnh rbenv uninstall, bạn có thể dọn dẹp các phiên bản Ruby của mình để không có nhiều cài đặt hơn đang sử dụng.

 

Kết luận

Chúng ta đã đề cập đến những điều cơ bản về cách cài đặt rbenv và Ruby on Rails ở đây để bạn có thể sử dụng nhiều môi trường Ruby. Đối với các bước tiếp theo, bạn có thể tìm hiểu thêm về cách làm cho những môi trường đó trở nên mạnh mẽ hơn. Để tăng khả năng mở rộng, tập trung và kiểm soát trong ứng dụng Ruby on Rails, bạn có thể muốn sử dụng nó với PostgreSQL hoặc MySQL hơn là CSDL sqlite3 mặc định.