Theo như câu trả lời trước, điều này còn khá nhiều thứ cần trình bày, vì vậy hãy coi đây là một phần giới thiệu ngắn.
đá quý là cách các thư viện Ruby được đóng gói. Chúng đối với Ruby là những gì đối với Java. Bên trong tệp đá quý, bạn tìm thấy mã Ruby (tệp .rb), nhưng cũng kiểm tra và một tệp đặc biệt cung cấp thông tin về chính viên đá quý, chẳng hạn như tên, phụ thuộc và phiên bản ( gemspec ). Bất kỳ dự án Ruby nào cũng có thể xác định các đá quý mà nó cần thông qua một Gemfile mà chỉ cần khai báo các phụ thuộc. Rubygems là tên của trình quản lý gói - công cụ được sử dụng để cài đặt các gói (trong khi các viên đá quý là chính các gói). Rubygems hiện là một phần của Ruby.
Bundler là thứ làm cho việc quản lý đá quý trở nên dễ chịu. Dựa trên Gemfile của bạn, một cuộc gọi đơn giản đến gói bằng cách sử dụng cài đặt gói sẽ tải xuống và cài đặt tất cả các đá quý cần thiết. Sử dụng lệnh gem tiêu chuẩn, bạn sẽ phải cài đặt thủ công từng lệnh trong số chúnggem install <gem_name>
. Bundler không phải là một phần của Ruby (bản thân nó được đóng gói như một viên đá quý ), nhưng nó là "tiêu chuẩn thực tế" cho hầu hết các ứng dụng (bạn sẽ không thấy nhiều người không sử dụng nó và thực tế không có lý do chính đáng để không sử dụng nó).
RVM là một công cụ cho phép bạn cài đặt nhiều phiên bản Ruby trên một máy, chuyển đổi giữa chúng khi cần thiết. Điều này có thể được sử dụng để cài đặt cả Ruby 1.8 và 1.9, hoặc thậm chí là "MRI" (Matz's Ruby, cài đặt mặc định) và các lựa chọn thay thế (chẳng hạn như JRuby hoặc Rubinius). Lưu ý rằng RVM không đơn độc trong trường này, hãy xem ví dụ rbenv .
Một gemset trong RVM là một tập hợp của đá quý đặc trưng cho một bối cảnh nhất định, thường là một dự án. Điều này rất hữu ích nếu chẳng hạn bạn đang phát triển các ứng dụng khác nhau, mỗi ứng dụng có các bộ đá quý riêng và muốn giữ chúng riêng biệt.
hệ thống Ruby , khi sử dụng RVM, phiên bản Ruby được cài đặt trên máy (tức là không phải qua RVM).
Nếu bạn chỉ mới bắt đầu, đá quý và công cụ gói sẽ được bạn quan tâm. Bạn có thể để RVM và các bộ đá quý sang một bên.