Trình quản lý phiên bản Ruby cho phép chúng tôi sử dụng tệp .rvmrc
trong mỗi dự án để thiết lập phiên bản ruby và gem được đặt để tải. Tệp này có nên được kiểm tra trong kiểm soát nguồn không? Hay liệu điều này có quá nhiều về môi trường làm việc của các nhà phát triển khác không?Bạn có kiểm tra tệp rvmrc của mình không?
Trả lời
Quản lý kiểm soát nguồn chủ yếu là khoảng khả năng tái sản xuất: bạn có thể tạo lại phiên bản nỗ lực phát triển dựa trên những gì bạn đã lưu trữ trong SCM không?
Nếu tệp .rvmrc
là cần thiết cho bất kỳ nhà phát triển nào trong dự án của bạn để có thể làm việc (với các tạo tác phù hợp), thì có, bạn nên phiên bản nó.
Như đã đề cập trong RVM Best Practices:
số 2 - Kiểm tra rvmrc của bạn vào kiểm soát nguồn.
Bằng cách kiểm tra rvmrc đã nói trên trong điều khiển nguồn dọc theo ứng dụng của bạn, bạn đảm bảo rằng tất cả người dùng đều có môi trường nhất quán khi họ đang sử dụng rvm.
Bằng cách tự động cài đặt gemset và tương tự (ví dụ: kiểm tra rvmrc trong kho lưu trữ rvm-site hoặc rvmrc repostory của TEDxPerth), bạn cũng bắt đầu đơn giản như thay đổi thư mục.
Trên hết, bạn cũng có thể tự động triển khai thiết lập môi trường ứng dụng cụ thể của mình.
các nhà phát triển khác có thể biến sử dụng của gemsets trên RVM của họ với:
echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc
này sẽ làm cho họ sử dụng gemset mặc định luôn.
Tôi thực sự khuyên bạn không nên giữ .rvmrc
trong SCM. Có hai lý do cụ thể:
Nếu bạn sử dụng gemsets bạn thực thi các nhà phát triển khác để sử dụng gemset cùng (trong khi một số có thể thích để có tất cả đá quý của họ trong gemset toàn cầu).
Bạn gây khó khăn cho (các) nhà phát triển khác chạy dự án trên một phiên bản Ruby khác. Chắc chắn, về quá trình sản xuất, nó có thể chạy trên
1.9.2-p290
, nhưng tại sao tôi không được phép chạy ứng dụng cục bộ trên1.9.3-p0
?
Nói chung nó thực thi quá nhiều vào mỗi nhà phát triển (giống câu chuyện như database.yml
, mà cũng không nên được giữ trong SCM). Một lưu ý trong README của dự án "chạy sản xuất" phiên bản Ruby là đủ imo.
Tôi nghĩ rằng nó cũng phụ thuộc vào dự án.Tôi có một tình huống mà các nhà phát triển chạy một số phiên bản ruby của cùng một dự án (các nền tảng khác nhau, yêu cầu) từ sản xuất - theo thiết kế. * Các bài kiểm tra * của chúng tôi cho chúng tôi biết rằng mọi thứ đều hoạt động đúng. Sự tự do thay đổi hồng ngọc cho phép chúng tôi chẩn đoán các sự cố về phiên bản cụ thể và chạy điểm chuẩn. – foz
- 1. Bạn có kiểm tra sức khỏe trong ứng dụng web hoặc trang web của mình không?
- 2. Bạn có sử dụng Kiểm tra Đơn vị trong các dự án chuyên nghiệp của mình không?
- 3. Bạn sử dụng cái gì để kiểm tra css cầm tay trên trang web của mình?
- 4. Bạn kiểm tra đối tượng kinh doanh của mình như thế nào?
- 5. Làm cách nào để bạn kiểm tra ứng dụng của mình cho Iñtërnâtiônàlizætiøn? (Quốc tế hóa?)
- 6. Tôi có nên kiểm tra đơn vị JavaScript của mình không?
- 7. Tôi có nên kiểm tra bộ điều khiển (MVC) của mình không?
- 8. Bạn sử dụng ứng dụng nào để Kiểm tra giao diện người dùng web của mình?
- 9. Kiểm tra những gì bạn bay, bay những gì bạn kiểm tra. [Nguyên tắc của NASA]
- 10. Bạn có thể viết mã Java để kiểm tra phiên bản Internet Explorer địa phương của mình
- 11. rvm không bỏ qua .rvmrc
- 12. UnitTest bạn tổ chức các tệp thử nghiệm của mình như thế nào?
- 13. Bạn có thể có một Danh sách chung (của T) trong tệp cài đặt của mình không?
- 14. Kiểm tra ngày tệp có bash
- 15. Chia nhỏ các bài kiểm tra RSpec của bạn
- 16. Cách kiểm tra xem tệp có rỗng trong Bash không?
- 17. Kiểm tra mã của bạn để biết tốc độ?
- 18. Tôi có thể kiểm tra các phương pháp sao băng của mình bằng cách nào?
- 19. Tôi làm cách nào để kiểm tra trang web của mình trên iPad mà không cần phải có?
- 20. Tôi có thể bắt đầu và kiểm tra nhật ký MySQL của mình bằng cách nào?
- 21. Để kiểm tra xem hai tệp hình ảnh có giống nhau không. Kiểm tra hoặc băm?
- 22. Tôi có nên trộn các bài kiểm tra UnitTests và tích hợp của mình trong cùng một dự án không?
- 23. TDD - Bạn muốn kiểm tra Lớp dịch vụ của mình bằng một Kho lưu trữ giả, nhưng làm cách nào?
- 24. Bạn có thể kiểm tra giao thức internet từ mẫu của Django không?
- 25. Bạn có nên kiểm tra biến trước khi đặt giá trị của nó trong C++ không?
- 26. Cách kiểm tra thư mục để kiểm tra xem tệp mới có được thêm vào không?
- 27. Làm cách nào để bạn kiểm tra ứng dụng ASP MVC của mình để bảo mật dựa trên người dùng?
- 28. Kiểm tra xem Tệp PDF có hợp lệ không (Python)
- 29. Tư vấn kiểm tra đơn vị - cách kiểm tra đơn vị của bạn .asmx
- 30. Kiểm tra xem tệp có đang mở
điểm thú vị. Tôi giữ rvmrc trong thư mục nhà của tôi, sẽ phải xem xét làm khác. –
Điều này có buộc các nhà phát triển khác trong nhóm của bạn sử dụng một gemset có cùng tên với người tạo .rvmrc không? – ybakos
Tôi thường không bao gồm một gemset trong rvmrc nếu dự án đang sử dụng bundler. Nếu nó không sử dụng bundler thì hãy đặt cho nó một tên gemset khớp với dự án với cờ --create để nó được tạo tự động. –