Hướng dẫn cài đặt Ruby on Rails rbenv trên Ubuntu 20.04 chi tiết

Chào bạn, tôi là Đức, người đứng sau blog Bùi Mạnh Đức. Với kinh nghiệm nhiều năm làm việc trong lĩnh vực phát triển web và lập trình, tôi hiểu rằng quá trình cài đặt môi trường phát triển có thể là một rào cản lớn, đặc biệt với những người mới bắt đầu. Ruby on Rails, một framework mạnh mẽ và linh hoạt, cũng không phải là ngoại lệ. Việc cài đặt nó trên Ubuntu đôi khi gặp nhiều trở ngại không đáng có, từ xung đột phiên bản Ruby đến các lỗi phụ thuộc phức tạp.

Đó là lý do tại sao trong bài viết này, tôi sẽ hướng dẫn bạn một phương pháp cài đặt Ruby on Rails trên Ubuntu 20.04 một cách sạch sẽ và hiệu quả nhất bằng cách sử dụng rbenv. Công cụ này giúp bạn quản lý nhiều phiên bản Ruby trên cùng một hệ thống mà không gây ra xung đột. Chúng ta sẽ cùng nhau đi qua từng bước, từ việc chuẩn bị môi trường, cài đặt rbenv, Ruby, Rails, cho đến việc xử lý các lỗi thường gặp. Hãy cùng bắt đầu hành trình chinh phục Ruby on Rails một cách dễ dàng và chuyên nghiệp nhé!

Chuẩn bị môi trường trên Ubuntu 20.04

Trước khi đi sâu vào cài đặt Ruby on Rails, bước đầu tiên và quan trọng nhất là chuẩn bị một môi trường làm việc “sạch” và đầy đủ trên Ubuntu 20.04. Một hệ thống được cập nhật và cài đặt đủ các gói cần thiết sẽ giúp quá trình sau này diễn ra suôn sẻ, tránh được những lỗi vặt không đáng có. Hãy coi đây là bước xây móng vững chắc cho ngôi nhà ứng dụng của bạn.

Cập nhật hệ thống và cài đặt các gói cần thiết

Đầu tiên, bạn cần đảm bảo hệ thống Ubuntu của mình được cập nhật lên phiên bản mới nhất. Việc này giúp vá các lỗ hổng bảo mật và đảm bảo tính tương thích của các gói phần mềm. Hãy mở Terminal (bạn có thể dùng phím tắt Ctrl + Alt + T) và chạy lệnh sau:

sudo apt update && sudo apt upgrade -y

Lệnh sudo apt update sẽ làm mới danh sách các gói phần mềm từ kho lưu trữ, trong khi sudo apt upgrade sẽ nâng cấp tất cả các gói đã cài đặt lên phiên bản mới nhất. Tùy chọn -y sẽ tự động xác nhận mọi yêu cầu, giúp quá trình diễn ra nhanh hơn.

Sau khi hệ thống đã được cập nhật, chúng ta sẽ cài đặt các gói phụ thuộc cần thiết để biên dịch và cài đặt Ruby. Đây là những công cụ và thư viện mà ruby-build (một plugin của rbenv mà chúng ta sẽ cài đặt sau) sử dụng để xây dựng Ruby từ mã nguồn. Chạy lệnh dưới đây để cài đặt chúng:

sudo apt install -y git curl build-essential libssl-dev libreadline-dev zlib1g-dev

Những gói này là tối quan trọng. Nếu thiếu bất kỳ gói nào, quá trình cài đặt Ruby gần như chắc chắn sẽ thất bại với những thông báo lỗi khó hiểu. Vì vậy, hãy đảm bảo bạn đã chạy lệnh này và không gặp bất kỳ lỗi nào trước khi tiếp tục.

Hình minh họa

Giới thiệu các phụ thuộc quan trọng

Bạn có thể thắc mắc tại sao chúng ta cần cài đặt những gói có tên khá “kỹ thuật” kia. Việc hiểu rõ vai trò của chúng sẽ giúp bạn tự tin hơn khi xử lý các vấn đề trong tương lai. Hãy cùng tôi điểm qua chức năng của từng gói:

  • git: Đây là hệ thống quản lý phiên bản phân tán. Chúng ta cần git để tải (clone) mã nguồn của rbenv và ruby-build trực tiếp từ kho lưu trữ GitHub của chúng.
  • curl: Là một công cụ dòng lệnh để truyền dữ liệu với cú pháp URL. Nó thường được sử dụng để tải xuống các tệp hoặc tập lệnh từ internet, bao gồm cả trình cài đặt rbenv.
  • build-essential: Đây không phải là một gói đơn lẻ mà là một meta-package. Nó cài đặt một tập hợp các công cụ cần thiết cho việc biên dịch phần mềm từ mã nguồn trên Debian/Ubuntu, bao gồm trình biên dịch GCC và các tiện ích khác như make. Ruby sẽ được biên dịch từ mã nguồn, vì vậy gói này là bắt buộc.
  • libssl-dev: Cung cấp các thư viện và tệp tiêu đề cho OpenSSL. Ruby cần OpenSSL để xử lý các kết nối bảo mật (HTTPS), mã hóa và nhiều tính năng bảo mật khác. Thiếu gói này là một trong những nguyên nhân gây lỗi phổ biến nhất khi cài đặt Ruby.
  • libreadline-dev: Thư viện này cung cấp tính năng chỉnh sửa dòng lệnh nâng cao. Nó giúp bạn sử dụng các phím mũi tên để điều hướng lịch sử lệnh hoặc chỉnh sửa lệnh trong các công cụ tương tác của Ruby như irb (Interactive Ruby Shell).
  • zlib1g-dev: Cung cấp thư viện nén zlib. Nhiều thư viện (gem) của Ruby sử dụng nó để xử lý việc nén và giải nén dữ liệu, chẳng hạn như khi làm việc với các tệp tin nén.

Bằng cách cài đặt đầy đủ các gói này, bạn đã tạo ra một nền tảng vững chắc để sẵn sàng cho việc cài đặt rbenv và Ruby một cách trơn tru.

Thiết lập rbenv để quản lý phiên bản Ruby

Sau khi đã chuẩn bị môi trường, bước tiếp theo là cài đặt rbenv. Tại sao chúng ta lại dùng rbenv thay vì cài đặt Ruby trực tiếp qua apt? Câu trả lời nằm ở sự linh hoạt. apt thường chỉ cung cấp một phiên bản Ruby đã cũ và việc quản lý nhiều phiên bản cho các dự án khác nhau là bất khả thi. rbenv giải quyết triệt để vấn đề này. Nó hoạt động như một “bộ điều phối”, cho phép bạn cài đặt nhiều phiên bản Ruby song song và chuyển đổi giữa chúng một cách dễ dàng chỉ bằng một dòng lệnh.

Cài đặt rbenv và ruby-build

Chúng ta sẽ cài đặt rbenv và plugin ruby-build thủ công bằng cách sử dụng git. ruby-build là công cụ giúp đơn giản hóa quá trình biên dịch và cài đặt các phiên bản Ruby khác nhau.

Đầu tiên, hãy clone kho lưu trữ của rbenv vào thư mục ~/.rbenv:

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

Tiếp theo, chúng ta cần thêm đường dẫn của rbenv vào biến môi trường PATH để hệ thống có thể tìm thấy và thực thi các lệnh của nó. Đồng thời, chúng ta cần khởi tạo rbenv mỗi khi một phiên Terminal mới được mở. Chạy các lệnh sau để thêm cấu hình cần thiết vào tệp .bashrc (tệp cấu hình cho Bash shell, shell mặc định trên Ubuntu):

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

Sau khi chạy hai lệnh trên, hãy khởi động lại shell của bạn để các thay đổi có hiệu lực. Cách đơn giản nhất là đóng Terminal hiện tại và mở một cửa sổ mới, hoặc chạy lệnh:

source ~/.bashrc

Bây giờ, hãy cài đặt plugin ruby-build. Plugin này cung cấp lệnh rbenv install mà chúng ta sẽ sử dụng để cài đặt Ruby.

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

Với các bước trên, bạn đã hoàn tất việc cài đặt cả rbenv và ruby-build. Hệ thống của bạn đã sẵn sàng để quản lý các phiên bản Ruby một cách chuyên nghiệp.

Hình minh họa

Kiểm tra và xác nhận cài đặt rbenv

Làm thế nào để biết rbenv đã được cài đặt đúng cách? Cách tốt nhất là sử dụng một tập lệnh chẩn đoán được cung cấp bởi chính đội ngũ rbenv. Tập lệnh này sẽ kiểm tra xem tất cả các thành phần cần thiết đã được thiết lập chính xác hay chưa.

Hãy chạy lệnh sau trong Terminal của bạn:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash

Nếu mọi thứ đều ổn, bạn sẽ thấy một thông báo như “Checking for rbenv in PATH: OK” và “Checking for rbenv shims: OK”. Điều này xác nhận rằng rbenv đã được tích hợp đúng cách vào shell của bạn và sẵn sàng hoạt động.

Nếu bạn gặp bất kỳ cảnh báo nào, tập lệnh cũng sẽ đưa ra các gợi ý để khắc phục. Thông thường, các lỗi ở bước này liên quan đến việc cấu hình biến môi trường PATH chưa chính xác hoặc chưa khởi động lại shell. Hãy đọc kỹ thông báo và làm theo hướng dẫn.

Một cách kiểm tra nhanh khác là hỏi phiên bản của rbenv:

rbenv --version

Nếu lệnh này trả về một số phiên bản (ví dụ: rbenv 1.2.0), điều đó có nghĩa là hệ thống đã nhận diện được lệnh rbenv. Bạn đã thiết lập thành công công cụ quản lý phiên bản Ruby mạnh mẽ này.

Cài đặt Ruby phiên bản mới nhất bằng rbenv

Với rbenv đã sẵn sàng, giờ đây việc cài đặt Ruby trở nên vô cùng đơn giản và linh hoạt. Bạn có thể chọn chính xác phiên bản Ruby mình muốn, từ những phiên bản ổn định mới nhất đến các phiên bản cũ hơn để tương thích với các dự án cũ. Đây chính là sức mạnh của việc sử dụng một trình quản lý phiên bản.

Tìm và chọn phiên bản Ruby phù hợp

Trước khi cài đặt, bạn nên xem danh sách tất cả các phiên bản Ruby có sẵn mà ruby-build hỗ trợ. Điều này giúp bạn chọn được phiên bản ổn định và mới nhất. Sử dụng lệnh sau để liệt kê:

rbenv install -l

Lệnh này sẽ hiển thị một danh sách dài các phiên bản, bao gồm các phiên bản chính thức của MRI (Ruby tiêu chuẩn), JRuby, TruffleRuby, và nhiều phiên bản khác. Các phiên bản không có hậu tố (như -dev hoặc -rc) thường là các bản phát hành ổn định. Tại thời điểm viết bài này, các phiên bản như 3.1.2, 3.0.4 là những lựa chọn tốt.

Việc chọn phiên bản phù hợp rất quan trọng. Đối với các dự án mới, bạn nên ưu tiên chọn phiên bản ổn định mới nhất để tận hưởng các cải tiến về hiệu năng, tính năng và các bản vá bảo mật. Đối với các dự án hiện có, bạn cần kiểm tra tài liệu hoặc tệp Gemfile của dự án để xác định phiên bản Ruby được yêu cầu.

Hình minh họa

Thực hiện cài đặt và thiết lập Ruby mặc định

Sau khi đã chọn được phiên bản mong muốn (ví dụ: 3.1.2), hãy sử dụng lệnh rbenv install để bắt đầu quá trình cài đặt.

rbenv install 3.1.2

Quá trình này có thể mất vài phút vì rbenv sẽ tải mã nguồn của Ruby và biên dịch nó ngay trên máy của bạn. Đây là lý do tại sao chúng ta cần cài đặt gói build-essential và các thư viện phụ thuộc ở bước chuẩn bị. Hãy kiên nhẫn chờ đợi cho đến khi quá trình hoàn tất.

Sau khi cài đặt thành công, phiên bản Ruby mới này vẫn chưa được kích hoạt. Bạn cần thông báo cho rbenv biết rằng bạn muốn sử dụng phiên bản này. rbenv cung cấp hai lệnh chính cho việc này: globallocal.

  • rbenv global: Thiết lập phiên bản Ruby mặc định cho toàn bộ hệ thống của người dùng.
  • rbenv local: Thiết lập phiên bản Ruby chỉ cho thư mục dự án hiện tại (bằng cách tạo một tệp .ruby-version).

Để đặt phiên bản 3.1.2 làm mặc định cho mọi dự án, hãy chạy lệnh:

rbenv global 3.1.2

Sau khi đặt phiên bản mặc định, bạn cần chạy lệnh rbenv rehash. Lệnh này quét tất cả các tệp thực thi của gem trong phiên bản Ruby vừa cài đặt (như rails, bundler) và tạo các “shims” tương ứng. Shims là các tệp kịch bản nhỏ giúp rbenv chuyển hướng các lệnh đến đúng phiên bản Ruby đang hoạt động. Bạn nên chạy lệnh này mỗi khi cài đặt một gem mới có chứa tệp thực thi.

rbenv rehash

Cuối cùng, hãy kiểm tra lại phiên bản Ruby hiện tại để xác nhận mọi thứ đã hoạt động:

ruby -v

Nếu kết quả trả về là ruby 3.1.2..., xin chúc mừng! Bạn đã cài đặt và kích hoạt thành công phiên bản Ruby mong muốn bằng rbenv.

Cài đặt Rails sau khi hoàn thành Ruby

Khi đã có một môi trường Ruby ổn định, việc cài đặt Rails chỉ còn là vấn đề của một vài câu lệnh. Rails được phân phối dưới dạng một “gem” – thuật ngữ của Ruby cho một gói thư viện hoặc ứng dụng. Chúng ta sẽ sử dụng công cụ quản lý gem mặc định của Ruby để cài đặt nó.

Cài đặt gem Rails

Gem là một trong những khái niệm cốt lõi của hệ sinh thái Ruby. Nó cho phép các nhà phát triển đóng gói và chia sẻ mã nguồn một cách dễ dàng. Rails là gem nổi tiếng và mạnh mẽ nhất. Để cài đặt phiên bản Rails mới nhất, bạn chỉ cần chạy lệnh sau:

gem install rails

Lệnh này sẽ kết nối đến kho lưu trữ gem mặc định (RubyGems.org), tìm kiếm gem có tên là rails và tải xuống phiên bản mới nhất cùng với tất cả các gem phụ thuộc của nó (như Rack, Railties, Active Record…). Quá trình này có thể mất một chút thời gian vì Rails là một framework lớn với nhiều thành phần.

Một lưu ý quan trọng là không bao giờ sử dụng sudo với lệnh gem install khi bạn đang dùng rbenv. rbenv được thiết kế để hoạt động hoàn toàn trong thư mục người dùng của bạn ($HOME). Việc sử dụng sudo có thể gây ra các vấn đề về quyền truy cập tệp và làm hỏng môi trường rbenv của bạn.

Sau khi quá trình cài đặt hoàn tất, đừng quên chạy lại lệnh rbenv rehash. Lệnh này rất quan trọng vì nó sẽ tạo ra một shim cho tệp thực thi rails, cho phép bạn chạy lệnh rails từ bất kỳ đâu trong Terminal.

rbenv rehash

Đây là một thói quen tốt cần duy trì mỗi khi bạn cài đặt một gem mới cung cấp các lệnh cho hệ thống.

Hình minh họa

Xác nhận phiên bản Rails và kiểm tra môi trường

Để đảm bảo rằng Rails đã được cài đặt thành công và đúng phiên bản, hãy kiểm tra phiên bản của nó:

rails -v

Nếu cài đặt thành công, lệnh này sẽ trả về phiên bản Rails mà bạn vừa cài, ví dụ: Rails 7.0.4.

Lúc này, bạn nên thực hiện một bài kiểm tra tổng thể môi trường để chắc chắn mọi thứ đều hoạt động hài hòa với nhau. Hãy kiểm tra lại phiên bản của các thành phần chính:

  • Kiểm tra phiên bản Ruby:
    ruby -v

    Kết quả nên là phiên bản bạn đã đặt với rbenv global (ví dụ: ruby 3.1.2...).

  • Kiểm tra phiên bản Rails:
    rails -v

    Kết quả nên là phiên bản Rails mới nhất (ví dụ: Rails 7.0.4).

  • Kiểm tra phiên bản rbenv:
    rbenv --version

    Kết quả nên hiển thị phiên bản rbenv đã cài đặt.

Nếu tất cả các lệnh trên đều trả về kết quả như mong đợi và không có lỗi nào xảy ra, bạn đã hoàn tất việc thiết lập một môi trường phát triển Ruby on Rails hoàn chỉnh và chuyên nghiệp trên Ubuntu 20.04.

Kiểm tra và xác nhận cài đặt thành công

Lý thuyết là vậy, nhưng cách tốt nhất để xác nhận mọi thứ hoạt động hoàn hảo là tạo và chạy thử một ứng dụng Rails thực tế. Bước này sẽ kiểm tra toàn bộ chuỗi công cụ, từ Ruby, Rails, đến các gem phụ thuộc và máy chủ web tích hợp.

Hãy tạo một dự án Rails mẫu. Di chuyển đến một thư mục mà bạn muốn lưu trữ các dự án của mình (ví dụ: ~/projects) và chạy lệnh sau:

rails new myapp

Lệnh này sẽ tạo một thư mục mới có tên myapp chứa toàn bộ cấu trúc của một ứng dụng Rails tiêu chuẩn. Rails sẽ tự động chạy bundle install để cài đặt tất cả các gem cần thiết được định nghĩa trong tệp Gemfile của dự án. Quá trình này có thể mất một lúc.

Hình minh họa

Sau khi quá trình tạo dự án hoàn tất, hãy di chuyển vào thư mục dự án:

cd myapp

Bây giờ, hãy khởi động máy chủ phát triển tích hợp của Rails. Máy chủ này tên là Puma và nó hoàn hảo cho việc phát triển và thử nghiệm cục bộ.

rails server

Hoặc bạn có thể dùng lệnh tắt:

rails s

Nếu mọi thứ đều ổn, bạn sẽ thấy các dòng log xuất hiện trên Terminal, cho biết máy chủ Puma đã khởi động và đang lắng nghe trên cổng 3000. Thông báo thường sẽ có dạng như sau:

=> Booting Puma
=> Rails 7.0.4 application starting in development
=> Run `bin/rails server --help` for more startup options
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop

Bây giờ, hãy mở trình duyệt web của bạn và truy cập vào địa chỉ http://localhost:3000. Nếu bạn nhìn thấy trang chào mừng của Ruby on Rails với dòng chữ “Yay! You’re on Rails!”, thì xin chúc mừng! Bạn đã cài đặt và cấu hình thành công 100% môi trường phát triển của mình.

Hình minh họa

Để tổng kết lại, đây là các lệnh bạn có thể dùng để kiểm tra nhanh trạng thái môi trường của mình bất kỳ lúc nào:

  • rbenv versions: Hiển thị tất cả các phiên bản Ruby đã được cài đặt và đánh dấu phiên bản đang hoạt động.
  • which ruby: Cho bạn biết đường dẫn đến tệp thực thi Ruby hiện tại, nó nên trỏ đến thư mục shims của rbenv.
  • ruby -v: Kiểm tra phiên bản Ruby đang hoạt động.
  • rails -v: Kiểm tra phiên bản Rails đã cài đặt.

Với những công cụ này, bạn có thể tự tin rằng môi trường của mình đang hoạt động chính xác như mong muốn.

Hướng dẫn khắc phục các lỗi phổ biến trong quá trình cài đặt

Mặc dù quy trình trên đã được tối ưu để giảm thiểu lỗi, nhưng trong thế giới lập trình, không có gì là tuyệt đối. Dưới đây là một số sự cố phổ biến nhất mà bạn có thể gặp phải và cách để khắc phục chúng một cách nhanh chóng.

Lỗi thiếu thư viện phụ thuộc khi cài Ruby

Đây là lỗi phổ biến nhất, đặc biệt nếu bạn bỏ qua bước chuẩn bị môi trường. Khi chạy lệnh rbenv install <version>, quá trình biên dịch có thể bị dừng đột ngột với một thông báo lỗi dài và khó hiểu.

Cách nhận biết:
Thông báo lỗi thường chứa các từ khóa như “OpenSSL”, “readline”, “zlib” hoặc “make: *** [install-ext] Error 1”. Nhật ký lỗi thường được lưu tại một tệp tin được chỉ định trong thông báo, bạn có thể xem tệp đó để biết chi tiết. Lỗi này gần như chắc chắn là do bạn thiếu một hoặc nhiều gói thư viện cần thiết cho việc biên dịch.

Cách khắc phục:
Giải pháp rất đơn giản: quay lại bước chuẩn bị và đảm bảo bạn đã cài đặt đầy đủ các gói phụ thuộc. Chạy lại lệnh sau:

sudo apt update
sudo apt install -y git curl build-essential libssl-dev libreadline-dev zlib1g-dev

Sau khi cài đặt xong các gói còn thiếu, hãy thử chạy lại lệnh rbenv install <version>. Trong hầu hết các trường hợp, quá trình cài đặt sẽ tiếp tục và hoàn tất thành công. Đừng quên kiểm tra kỹ thông báo lỗi, đôi khi nó có thể gợi ý chính xác gói bạn đang thiếu.

Hình minh họa

Lỗi cấu hình PATH và rbenv không nhận diện version Ruby

Một vấn đề khác thường xảy ra sau khi cài đặt rbenv là shell không thể tìm thấy lệnh rbenv hoặc không nhận diện phiên bản Ruby bạn vừa thiết lập.

Cách nhận biết:

  • Bạn chạy lệnh rbenv và nhận được thông báo: rbenv: command not found.
  • Bạn chạy ruby -v nhưng kết quả lại là phiên bản Ruby của hệ thống (thường nằm ở /usr/bin/ruby) thay vì phiên bản bạn đã đặt với rbenv global.
  • Lệnh which ruby trả về /usr/bin/ruby thay vì ~/.rbenv/shims/ruby.

Nguyên nhân của lỗi này là do cấu hình biến môi trường PATH và việc khởi tạo rbenv trong tệp .bashrc (hoặc .zshrc nếu bạn dùng Zsh) chưa chính xác hoặc chưa được shell nạp vào.

Cách khắc phục:

  1. Kiểm tra lại tệp cấu hình shell: Mở tệp ~/.bashrc bằng một trình soạn thảo văn bản (ví dụ: nano ~/.bashrc) và đảm bảo rằng hai dòng sau tồn tại và nằm ở cuối tệp:
    export PATH="$HOME/.rbenv/bin:$PATH"
    eval "$(rbenv init -)"

    Thứ tự của hai dòng này rất quan trọng. eval phải được đặt sau khi đã thêm rbenv vào PATH.

  2. Khởi động lại shell: Sau khi chỉnh sửa tệp .bashrc, các thay đổi sẽ không có hiệu lực ngay lập tức. Bạn cần đóng cửa sổ Terminal hiện tại và mở một cửa sổ mới. Hoặc, bạn có thể chạy lệnh source ~/.bashrc để nạp lại tệp cấu hình ngay trong phiên làm việc hiện tại.
  3. Xác minh lại: Chạy lại các lệnh which rubyruby -v để kiểm tra. Nếu đường dẫn và phiên bản đã chính xác, vấn đề đã được giải quyết.

Best Practices

Cài đặt thành công chỉ là bước khởi đầu. Để duy trì một môi trường phát triển Ruby on Rails lành mạnh, hiệu quả và không gặp sự cố về lâu dài, bạn nên tuân theo một số quy tắc và thực hành tốt nhất. Đây là những kinh nghiệm mà tôi đã đúc kết được trong quá trình làm việc với Rails.

  • Luôn cập nhật rbenv và ruby-build thường xuyên:
    Các phiên bản Ruby mới được phát hành liên tục. Để có thể cài đặt chúng, bạn cần cập nhật rbenvruby-build. Vì chúng ta đã cài đặt từ Git, việc cập nhật rất đơn giản. Thỉnh thoảng, hãy chạy các lệnh sau:
    cd ~/.rbenv && git pull
    cd ~/.rbenv/plugins/ruby-build && git pull

    Điều này đảm bảo bạn luôn có quyền truy cập vào các bản vá lỗi mới nhất và danh sách các phiên bản Ruby mới nhất.

  • Sử dụng phiên bản Ruby cụ thể cho từng dự án:
    Thay vì chỉ dựa vào rbenv global, hãy tập thói quen sử dụng rbenv local cho mỗi dự án. Khi ở trong thư mục gốc của dự án, hãy chạy:
    rbenv local 3.1.2

    Lệnh này sẽ tạo một tệp .ruby-version trong thư mục dự án, chứa số phiên bản. Bất cứ khi nào bạn cd vào thư mục này, rbenv sẽ tự động chuyển sang phiên bản Ruby được chỉ định. Điều này cực kỳ hữu ích khi bạn làm việc trên nhiều dự án với các yêu cầu phiên bản khác nhau, giúp tránh xung đột và đảm bảo tính nhất quán.

  • Không cài đặt gem bằng sudo:
    Đây là một quy tắc vàng khi sử dụng rbenv. Mọi thứ liên quan đến Ruby (bản thân Ruby, các gem) đều nên được quản lý trong thư mục người dùng của bạn. Việc dùng sudo gem install sẽ cài đặt gem vào thư mục hệ thống, phá vỡ cơ chế quản lý của rbenv và gây ra các lỗi về quyền khó chịu sau này. Nếu bạn gặp lỗi về quyền khi cài gem, đó thường là dấu hiệu của một vấn đề cấu hình sâu hơn chứ không phải là bạn cần sudo.
  • Kiểm tra kỹ các thư viện phụ thuộc trước khi bắt đầu:
    Như đã đề cập trong phần khắc phục lỗi, việc thiếu các gói phụ thuộc là nguyên nhân hàng đầu gây ra lỗi cài đặt Ruby. Trước khi chạy rbenv install, hãy dành một phút để kiểm tra lại xem bạn đã cài đặt build-essential, libssl-dev, libreadline-dev, và zlib1g-dev chưa. Thói quen này sẽ tiết kiệm cho bạn rất nhiều thời gian và công sức gỡ rối sau này.

Hình minh họa

Kết luận

Vậy là chúng ta đã cùng nhau hoàn thành một hành trình chi tiết qua từng bước cài đặt Ruby on Rails trên Ubuntu 20.04 bằng rbenv. Bằng cách tuân thủ quy trình này, bạn không chỉ thiết lập thành công một môi trường phát triển mà còn xây dựng được một nền tảng vững chắc, linh hoạt và dễ dàng quản lý cho các dự án trong tương lai.

Chúng ta đã bắt đầu từ việc chuẩn bị hệ thống, cập nhật và cài đặt các gói phụ thuộc quan trọng. Tiếp theo, chúng ta đã cài đặt và cấu hình rbenv, một công cụ mạnh mẽ để quản lý nhiều phiên bản Ruby mà không gây xung đột. Sau đó, việc cài đặt phiên bản Ruby mong muốn và framework Rails trở nên đơn giản hơn bao giờ hết. Cuối cùng, chúng ta đã xác minh toàn bộ quá trình bằng cách tạo và chạy một ứng dụng Rails đầu tiên, đồng thời trang bị cho mình kiến thức để xử lý các lỗi phổ biến và các phương pháp hay nhất để duy trì môi trường làm việc hiệu quả.

Tôi hy vọng rằng bài viết này không chỉ là một loạt các câu lệnh để sao chép và dán, mà còn giúp bạn hiểu rõ “tại sao” đằng sau mỗi bước. Kiến thức này sẽ giúp bạn tự tin hơn rất nhiều khi đối mặt với các vấn đề kỹ thuật sau này. Đừng ngần ngại thực hành ngay lập tức. Hãy thử tạo một dự án nhỏ, khám phá cấu trúc của Rails, và bắt đầu xây dựng một thứ gì đó của riêng bạn.

Từ đây, bạn có thể tiếp tục hành trình của mình bằng cách tìm hiểu sâu hơn về kiến trúc MVC của Rails, học cách làm việc với cơ sở dữ liệu qua PostgreSQL hoặc MySQL thông qua Active Record, hoặc khám phá hệ sinh thái gem phong phú để mở rộng chức năng cho ứng dụng của mình. Chúc bạn thành công trên con đường trở thành một nhà phát triển Ruby on Rails.

Đánh giá
Tác giả

Mạnh Đức

Có cao nhân từng nói rằng: "Kiến thức trên thế giới này đầy rẫy trên internet. Tôi chỉ là người lao công cần mẫn đem nó tới cho người cần mà thôi !"

Chia sẻ
Bài viết liên quan