---
title: "Cách Cài Đặt Ruby on Rails Với rbenv Trên Ubuntu 20.04"
description: "Ruby và Rails là một ứng dụng mã nguồn mở phổ biến nhất dành cho các lập trình viên muốn tạo các trang web và ứng dụng web. Ngôn ngữ lập trình Ruby, kết hợp với Rails framework cho phép bạn xây dựng và triển khai mở rộng ứng dụng một cách nhanh chóng."
url: https://cloudfly.vn/techblog/cach-cai-dat-ruby-on-rails-voi-rbenv-tren-ubuntu-2004-8118090
image: https://media.cloudfly.vn/posts/techblog_093I9Rt.png
---

# Cách Cài Đặt Ruby on Rails Với rbenv Trên Ubuntu 20.04

![cách cài đặt rails](https://media.cloudfly.vn/posts/cach-cai-dat-rails.jpg)
## Giới thiệu
Ruby và Rails là một ứng dụng mã nguồn mở phổ biến nhất dành cho các lập trình viên muốn tạo các trang web và ứng dụng web. Ngôn ngữ lập trình Ruby, kết hợp với Rails framework cho phép bạn xây dựng và triển khai mở rộng ứng dụng một cách nhanh chóng. 
Bạn có thể cài đặt Ruby và Rails bằng công cụ dòng lệnh rbenv . Sử dụng rbenv sẽ cung cấp cho bạn một môi trường vững chắc để phát triển các ứng dụng Ruby on Rails và cho phép bạn chuyển đổi giữa các version Ruby, giữ cho toàn bộ group của bạn sử dụng cùng một version. 
rbenv cũng cung cấp hỗ trợ để chỉ định các version dành riêng cho ứng dụng của Ruby, cho phép bạn thay đổi Ruby chung cho từng user và cho phép bạn sử dụng một biến môi trường để overrides version Ruby.
Sau đây chúng tôi sẽ hướng dẫn bạn quy trình cài đặt Ruby và Rails với `rbenv` và `gem`. Đầu tiên, bạn sẽ cài đặt các gói dành riêng để cài đặt rbenv và Ruby. Sau đó, bạn sẽ cài đặt `ruby-build` plugin để bạn có thể cài đặt các version có sẵn của Ruby. Tiếp theo, bạn sẽ sử dụng `gem` để cài đặt Rails và có thể sử dụng Ruby on Rails bắt đầu phát triển web của bạn. 
Chúng tôi sẽ cung cấp các bước kiểm tra version rbenv của bạn có được cập nhật hay không và cách gỡ cài đặt các version Ruby và rbenv.
## Yêu cầu 
* Thiết lập 1 Ubuntu 20.04 server bao gồm 1 user không phải người máy và 1 tường lửa.
* Cài đặt Node.js sử dụng gói lưu trữ cá nhân (PPA) chính thức. Một vài tính năng của Rails như: Asset Pipeline, JavaScript Runtime. Node.js cung cấp chức năng này. 
### Bước 1: Cài đặt rbenv and Dependencies
Ruby dựa trên một số gói mà bạn có thể cài đặt thông qua trình quản lý gói của mình. Sau khi chúng được cài đặt, bạn có thể cài đặt rbenv và sử dụng nó để cài đặt Ruby.
Đầu tiên, cập nhật danh sách gói của bạn:
```content super_user
sudo apt update
```
Tiếp theo, sử dụng lệnh sau để cài đặt các gói phụ thuộc Ruby:
```content super_user
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev
```
Sau khi cài đặt xong các gói phụ thuộc, bạn có thể cài đặt cho rbenv. Sử dụng `curl` để tìm lệnh cài đặt Github và chuyển trực tiếp đến `bash` để chạy trình cài đặt:
```content super_user
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
```
Tiếp theo, thêm `~/.rbenv/bin` vào `$PATH` của bạn để có thể sử dụng trình dòng lệnh `rbenv`. Thực hiện điều này bằng cách thay đổi file `~/.bashrc` của bạn để nó ảnh hưởng đến các phiên đăng nhập trong tương lai:
```content super_user
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
```
Sau đó, thêm lệnh `eval "$(rbenv init -)"` vào file `~/.bashrc` của bạn để rbenv chạy tự động 
```content super_user
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
```
Sau đó, áp dụng những thay đổi của bạn vào file `~/.bashrc` vào phiên shell hiện tại của bạn:
```content super_user
source ~/.bashrc
```
Xác minh rbenv được cài đặt đúng cách bằng cách chạy lệnh `type`. Lệnh này sẽ hiển thị thêm thông tin về lệnh `rbenv`
```content super_user
type rbenv
```
Cửa sổ cuối của bạn sẽ hiển thị 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
}
```
Đến đây, bạn đã hoàn tất cài đặt rbenv và ruby-build. Tiếp thep hãy cài đặt Ruby.
### Bước 2: Cài đặt Ruby với ruby-build
```content super_user
rbenv install -l
```
Đầu ra của dòng lệnh đó sẽ là một danh sách các versions mà bạn có thể lựa chọn để cài đặt:
```output
2.6.8
2.7.4
3.0.2
jruby-9.2.19.0
mruby-3.0.0
rbx-5.0
truffleruby-21.2.0.1
truffleruby+graalvm-21.2.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
```
Bây giờ hãy cài đặt Ruby `2.7.6`:
```content super_user
rbenv global 2.7.6
```
Kiểm tra số version của nó để kiểm chứng rằng Ruby đã được cài đặt đúng cách
```content super_user
ruby -v
```
Nếu bạn cài đặt Ruby version 2.7.6 thì lệnh này sẽ trả về kểt quả giống như sau:
```output
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
```
Bây giờ bạn đã cài đặt ít nhất một version Ruby và đã đặt version Ruby mặc định của bạn . Tiếp theo, bạn sẽ cài đặt gems và Rails.
### Bước 3: Làm việc với Gems
Gems là các thư viện được Ruby phân phối. Bạn sử dụng lệnh `gem` để quản lý các Gems. và sử dụng lệnh này để cài đặt Rails.
Khi bạn cài đặt một gem, quá trình cài đặt sẽ tạo ra tài liệu cục bộ. Điều này có thể làm gia tăng thêm thời gian cho quá trình cài đặt của mỗi gem. Do đó hãy tắt tính năng tạo tài liệu cục bộ bằng cách tạo một file có tên `~/.gemrc` chứa cài đặt cấu hình để tắt tính năng này:
```content super_user
echo "gem: --no-document" > ~/.gemrc
```
Bundler là một công cụ quản lý phụ thuộc của gem cho các dự án. Tiếp theo, cài đặt Bundler gem vì Rails phụ thuộc vào nó.
```content super_user
gem install bundler
```
Bạn sẽ nhận được kết quả như sau:
```output
Fetching bundler-2.2.27.gem
Successfully installed bundler-2.2.27
1 gem installed
```
Bạn có thể sử dụng dòng lệnh `gem env` (lệnh con `env` là viết tắt `environment`) để tìm hiểu thêm về môi trường và cấu hình của gems. Bạn có thể thấy nơi các gems đang được cài đặt bằng cách sử dụng đối số `home` , như sau:
```content super_user
gem env home
```
Bạn sẽ nhận kết quả tương tự như sau:
```output
/home/sammy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0
```
Khi bạn đã thiết lập gems, bạn có thể cài đặt Rails.
### Bước 4: Cài đặt Rails
Để cài đặt Rails, bạn sử dụng lệnh `Rails` cùng với cờ `-v` để chỉ định version. Với hướng dẫn này, bạn sẽ sử dụng version `6.1.4.1`
```content super_user
gem install rails -v 6.1.4.1
```
Lệnh `gem` để cài đặt gems mà bạn chỉ định cũng như mọi phụ thuộc của nó. Rails là một khung phát triển web phức tạp và có nhiều phụ thuộc do đó mà quá trình này sẽ mất thời gian dài để hoàn thành. Cuối cùng, bạn sẽ nhận được một thông báo cho biết Rails đã được cài đặt, cùng với các phụ thuộc của nó:
```output
...
Successfully installed rails-6.1.4.1
37 gems installed
```
**Lưu  ý**
Nếu bạn muốn cài đặt một version Rails khác, bạn có thể liệt kê các version Rails hợp lệ bằng cách thực hiện tìm kiếm, nó sẽ xuất ra danh sách version có thể có. Bạn có thể sử dụng một version cụ thể, chẳng hạn như `4.2.7`:
```content super_user
gem search '^rails$' --all
gem install rails -v 4.2.7
```
Nếu bạn muốn cài đặt version Rails mới nhất, hãy chạy lệnh mà không có version chỉ định:
```content super_user
gem install rails
```
rbenv hoạt động bằng cách tạo một folder chứa các shims, trỏ tới các file được sử dụng bởi version Ruby hiện đang được kích hoạt. Thông qua lệnh con `rehash`, rbenv duy trì các shims trong folder đó để trùng với mọi lệnh Ruby trên mọi version Ruby đã cài đặt trên server của bạn. Bất cứ khi nào bạn cài đặt một version mới của Ruby hoặc gems cung cấp các lệnh, giống như Rails, bạn nên chạy  như sau:
```content super_user
rbenv rehash
```
Xác minh rằng Rails đã được cài đặt đúng cách bằng cách in version của nó, bằng lệnh sau:
```content super_user
rails -v
```
Nếu được cài đặt đúng cách, lệnh này sẽ trả về phiên bản Rails đã được cài đặt:
```output
Rails 6.1.4.1
```
Lúc này bạn có thể bắt đầu thử nghiệm cài đặt Ruby on Rails và bắt đầu phát triển các ứng dụng web. Bây giờ hãy xem xét việc giữ cho rbenv được cập nhật.
### Bước 5: Cập nhật rbenv
Vì bạn đã cài đặt rbenv theo cách thủ công bằng Git, bạn có thể nâng cấp cài đặt của bạn lên version mới nhất bất kỳ lúc nào bằng cách sử dụng lệnh `git pull` trong danh mục `~/.rbenv`
```content super_user
cd ~/.rbenv
git pull
```
Điều này sẽ đảm bảo ta đang sử dụng version rbenv cập nhật nhất hiện có.
### Bước 6: Gỡ cài đặt các Ruby versions
Khi bạn tải về các version bổ sung của Ruby, bạn có thể tích lũy nhiều version hơn bạn muốn trong danh mục `~/.rbenv/versions`. Sử dụng lệnh `ruby-build` của plugin’s `uninstall` để xóa các version trước đó.
Lệnh sau sẽ gỡ cài đặt phiên bản Ruby `2.7.6`:
```content super_user
rbenv uninstall 2.7.6
```
Với lệnh `rbenv uninstall` bạn có thể bạn có thể dọn dẹp các version cũ của Ruby để không cài đặt nhiều hơn những gì bạn đang sử dụng.
### Bước 7: Gỡ cài đặt rbenv
Nếu bạn không muốn sử dụng rbenv nữa, bạn có thể xóa nó khỏi hệ thống của mình
Để thực hiện đầu tiên bạn hãy mở file `~/.bashrc` trong editor :
```content super_user
nano ~/.bashrc
```
Tìm và xóa hai dòng sau khỏi tệp  `~/.bashrc`  :
```content super_user
...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
```
Sau khi xóa những dòng này, hãy lưu tệp và thoát khỏi trình chỉnh sửa. Nếu bạn sử dụng `nano` bạn có thể thoát bằng cách nhấn `CTRL + X` sau đó `Y` và `ENTER`
Sau đó, loại bỏ rbenv và tất cả các phiên bản Ruby đã cài đặt bằng lệnh sau:
```content super_user
rm -rf `rbenv root`
```
Đăng xuất và đăng nhập lại để áp dụng các thay đổi cho shell của bạn.
## Kết luận
Trong hướng dẫn này, bạn đã cài đặt `rbenv` và `gem` Ruby on Rails. Từ đây, bạn có thể tìm hiểu thêm về cách làm cho những môi trường đó mạnh mẽ hơn. Từ đó, bạn có thể bắt đầu tạo các dự án ứng dụng phát triển web của mình.
