2011-08-05 35 views
6

Không phải là điểm của dự án .bundle/config để chỉ định cấu hình có liên quan đến dự án?Tại sao đường ray bỏ qua .bundle theo mặc định?

+0

Bạn có thể cung cấp thêm thông tin không? Nội dung của tệp này là gì và bạn đang sử dụng phiên bản bó và đường ray nào? –

+0

đường ray 3, gói mới nhất, nội dung không phải là bất cứ điều gì, nhưng nội dung của .gitignore được tạo bởi 'đường ray mới foo' bỏ qua .bundle –

+0

Cập nhật câu trả lời của tôi. –

Trả lời

11

Trên bundle-configmanpage là nói:

Lệnh này cho phép bạn tương tác với các cấu hình hệ thống bundler của. Bundler truy xuất cấu hình của nó từ ứng dụng cục bộ (app/.bundle/config), các biến môi trường và thư mục của người dùng (~/.bundle/config), theo thứ tự ưu tiên đó. Vì vậy, hãy đảm bảo rằng bạn không có bất kỳ tệp cấu hình nào được ưu tiên hơn tệp bạn muốn sử dụng.

Bạn có thể định cấu hình tệp này hoặc đặt tùy chọn sử dụng bundle config (option), chạy bundle config mà không có bất kỳ tùy chọn nào in cấu hình hiện tại. Ví dụ, bạn có thể thiết lập tùy chọn biên dịch thời gian cho họ mysql đá quý như vậy:

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config 

Vì vậy, có, app/.bundle/config được sử dụng để thiết lập tùy chọn gói cho các dự án hiện tại.

Chỉnh sửa: Thay đổi này được thêm vào cam kết efa85055 vào Rails github repo. Bạn có thể xem phiên bản của file herecommit here.

Các cam kết thông báo là từ José Valim và đề cập đến dòng bạn có thắc mắc về:

Make bin/đường ray gọi ray/lệnh/ứng dụng, sửa chữa máy phát điện sử dụng và cập nhật .gitignores.

Chỉnh sửa lần nữa: Đây là một quote from bundler về lý do tại sao bạn không nên kiểm tra thư mục .bundle vào bất kỳ VCS.

Không đánh dấu vào thư mục .bundle hoặc bất kỳ tệp nào bên trong thư mục. Các tệp đó dành riêng cho từng máy cụ thể và được sử dụng để tùy chọn cài đặt liên tục giữa các lần chạy của lệnh cài đặt gói .

+0

Đó là một tổng quan về thông tin, nhưng bạn không trả lời câu hỏi về lý do cấu hình bị bỏ qua theo mặc định. :) Tôi cho rằng sự an toàn này là để cho người dùng cá nhân kiểm soát hành vi của mỗi người trong dự án - nhưng nó quá tệ đến mức mọi thứ không thể tốt hơn, với bundler và rvm đơn giản và nhất quán hơn trên tất cả các hệ thống. .. –

+0

Bạn có ý gì khi bỏ qua? Không có đề cập đến điều này trong tài liệu và tôi không nghĩ rằng đó là hành vi mong đợi. Nếu bạn có các tùy chọn được đặt trong 'app/.bundle/config', chúng sẽ được sử dụng. –

+0

Ah bạn có nghĩa là bỏ qua bởi git. Vâng, nó có khả năng nhất là một mối quan tâm an ninh và không phải cái gì mà một nhà phát triển bình thường sẽ phân phối với một gói nguồn hoặc VCS. –

Các vấn đề liên quan