Những người không quen thuộc với phát triển phần mềm có thể ngạc nhiên về việc có bao nhiêu vùng được gọi là màu xám có thể có. Ngay cả khi bạn biết bạn muốn viết, nói rằng, một ứng dụng Rails, bạn đã có một số quyết định cụ thể hơn để thực hiện. Bạn nên sử dụng cơ sở dữ liệu nào? Phiên bản Ruby nào? Đá quý nào nên được cài đặt? Nó sẽ xung đột với bất kỳ phiên bản Ruby hoặc bộ đá quý nào khác? RVM, Trình quản lý phiên bản Ruby, có thể xử lý điều đó. RVM cho phép bạn cài đặt, quản lý và chuyển đổi giữa các phiên bản Ruby để bạn có thể phát triển và kiểm tra phần mềm trong nhiều phiên bản Ruby mà không gặp rắc rối nào. Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt RVM trên Ubuntu và sử dụng nó để quản lý môi trường Ruby của bạn.

Lưu ý : Đây không phải là bài viết “Cách mã hóa Ruby”, nó chỉ đề cập đến việc sử dụng RVM để quản lý các cài đặt Ruby của bạn.

Làm thế nào nó hoạt động

Thiết lập RVM phổ biến nhất sẽ diễn ra như thế này - Người dùng cài đặt RVM làm ứng dụng, toàn hệ thống hoặc trong nhà của họ. Thông qua RVM, các phiên bản Ruby đã chọn của người dùng được cài đặt tự động vào nhà của người dùng đó. Sử dụng lệnh RVM, người dùng chỉ định phiên bản nào họ muốn hoạt động tại bất kỳ thời điểm nào. Tất cả các cuộc gọi được thực hiện với Ruby trong thời gian đó được chuyển đến tệp thực thi Ruby thích hợp và chạy như bình thường. Không có ảo hóa hoặc trình bao bọc phức tạp hoặc chroot lo lắng về nó, nó hoạt động nhiều hơn hoặc ít hơn như một chuỗi thông minh của các liên kết và biến môi trường hướng tất cả các cuộc gọi Ruby đến phiên bản đã chọn.

Cài đặt

Đầu tiên chúng ta cần một vài điều kiện tiên quyết. Cài đặt Ubuntu chuẩn của bạn cần chứa nhiều thứ cần thiết, nhưng một số gói cần thiết có thể bị thiếu. Để xây dựng RVM đúng cách, hãy cài đặt các gói sau đây từ Trung tâm Phần mềm Ubuntu hoặc từ dòng lệnh với:

 sudo apt-get cài đặt git build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev 

Điều này giúp hệ thống của chúng tôi xây dựng và cài đặt đúng cách RVM và Ruby. Chúng tôi sẽ không cần phải thực hiện thường lệ cấu hình / thực hiện thường xuyên trên này như RVM thực sự bao gồm một kịch bản xây dựng đơn giản mà nên làm công việc cho bạn. Sau khi tất cả các phụ thuộc trên được cài đặt, hãy chạy lệnh sau từ dòng lệnh:

 bash <<(curl http://rvm.beginrescueend.com/releases/rvm-install-head) 

Điều này sẽ lấy nguồn và cung cấp một thông điệp tốt đẹp từ nhà phát triển của RVM.

Thêm phiên bản Ruby

Tại thời điểm này bạn đã có RVM nhưng không thể cài đặt Ruby để chạy với nó. Bắt RVM để cài đặt một là đơn giản như một lệnh shell đơn. Trong ví dụ đầu tiên, chúng tôi sẽ cài đặt phiên bản 1.8.7 ổn định từ nguồn với một lệnh RVM:

 rvm cài đặt 1.8.7 

RVM sẽ xử lý toàn bộ quá trình bao gồm cấu hình, biên dịch và cài đặt RubyGems.

Cài đặt sau

Sau khi hoàn thành, có một chút thiết lập môi trường chúng ta phải làm. Để RVM có thể chặn đúng các cuộc gọi Ruby, chúng ta phải thêm dòng sau vào .bashrc hoặc .bash_profile :

 [[-s "$ HOME / .rvm / tập lệnh / rvm"]] &&. "$ HOME / .rvm / scripts / rvm" 

Khởi động lại vỏ của bạn và nó sẽ có hiệu lực. Để kiểm tra, chỉ cần nhập

 loại rvm | đầu -1 

Mà nên trả lời với "rvm là một chức năng" . Nếu không, cái gì đó bị hỏng dọc theo dòng.

Quản lý phiên bản Ruby

Bây giờ mọi thứ đã được thiết lập, chúng ta có thể sử dụng RVM! Giả sử bạn đã cài đặt phiên bản 1.8.7 như trong ví dụ trên, nó có thể được chọn với

 Sử dụng rvm 1.8.7 

RVM sẽ cung cấp cho bạn một phản hồi xác nhận lựa chọn của bạn và cho bạn thấy vị trí của Ruby thực thi. Điều này có thể được xác minh sau này bằng cách sử dụng hệ thống tiêu chuẩn mà lệnh.

Phiên bản bổ sung có thể được cài đặt theo cùng một cách, và đá quý có thể được thêm vào và gỡ bỏ từ các phiên bản RVM chính xác như trong hệ thống bình thường của Ruby cài đặt. Bạn có thể chọn phiên bản của mình khi đang di chuyển để đảm bảo ứng dụng của bạn hoạt động như dự định mà không bao giờ phải lo lắng về xung đột và sự không phù hợp về môi trường. Thưởng thức!