Bundler được khởi chạy từ thư mục gốc của ứng dụng, vì vậy nó đảm bảo tất cả các gem cần thiết đều có mặt để ứng dụng của bạn hoạt động. Nếu vì lý do nào đó bạn không cần gem nữa, bạn sẽ phải chạy
gem uninstall gem_name
như bạn đã nêu ở trên. Vì vậy, mỗi khi bạn chạy Bundler, nó sẽ kiểm tra lại các phần phụ thuộc
EDIT - 24.12.2014
Tôi thấy rằng mọi người tiếp tục đến với câu hỏi này, tôi quyết định thêm một chút gì đó. Câu trả lời mà tôi đưa ra là dành cho trường hợp bạn duy trì đá quý trên toàn cầu. Cân nhắc sử dụng trình quản lý đá quý chẳng hạn như rbenv hoặc rvm để giữ các bộ đá quý trong phạm vi các dự án cụ thể.
Điều này có nghĩa là không có gem nào sẽ được cài đặt ở cấp độ toàn cầu và do đó khi bạn xóa một gem khỏi Gemfile của dự án và chạy lại gói thì hiển nhiên nó sẽ không được tải trong dự án của bạn. Sau đó, bạn có thể chạy gói sạch (với dự án dir) và nó sẽ xóa khỏi hệ thống tất cả các đá quý đã từng được cài đặt khỏi Gemfile của bạn (trong cùng một dir) nhưng tại thời điểm này không còn được liệt kê ở đó nữa .... câu chuyện dài ngắn - nó loại bỏ những viên ngọc không sử dụng.
gem uninstall pg
từ thư mục dự án sẽ gỡ bỏ cài đặt pg từ mức hệ thống / gemset toàn cầu của bạn thay vì bundler của