2011-08-08 26 views

Trả lời

13

Nếu ai đó quyết định tấn công đá quý của bạn vì bất kỳ lý do gì, ví dụ: họ dồn nó vào Github để thêm một tính năng vào nó (mà họ có thể muốn đóng góp), nó sẽ giúp ích nếu họ biết phụ thuộc phát triển nào mà đá quý của bạn cần (ví dụ: các khuôn khổ thử nghiệm, công cụ chế nhạo, v.v.).

Nếu bạn đang sử dụng bundler với lệnh gemspec, nó sẽ móc vào phụ thuộc gemspec bạn và cài đặt các phụ thuộc phát triển cùng với những thời gian chạy khi bạn chạy

bundle install 

này giúp bạn tiết kiệm cần phải cài đặt những viên ngọc bằng tay.

Lệnh đá quý cũng có thể liệt kê tất cả các phụ thuộc của một viên ngọc trong đó có những người phát triển:

gem dependency my_gem 

Gem my_gem-0.1.3 
    activerecord (~> 3.0.0) 
    json (~> 1.4.3, development) 
    rake (>= 0, development) 
    rspec (~> 2.5.0, development) 
    ruby-openid (~> 2.1.0) 

Một lần nữa điều này có lẽ nhiều hơn cho người khác chứ không phải cho chính mình.

+0

Tôi sử dụng Gemfile cho cái đầu tiên, và thứ hai là loại imo vô dụng, nhưng tốt để biết rằng không có gì khác xảy ra :) – grosser

3

Đá quý của tôi thường kiểm tra đơn vị. Kiểm tra này đòi hỏi đôi khi đá quý, mà không cần thiết để sử dụng đá quý. Hoặc có lẽ bạn cần thêm đá quý để tạo ra các phần của đá quý.


Khi tôi lạm dụng phụ thuộc phát triển để xác định 'phụ thuộc tùy chọn' (phụ thuộc vào một số tính năng cụ thể của đá quý của tôi, nhưng không cần thiết cho việc sử dụng 'bình thường').

Ví dụ: Đơn đăng ký của tôi cung cấp khả năng xuất ra tệp dưới dạng văn bản hoặc pdf. Thế hệ pdf sử dụng prawn. Vì vậy, tôm là một phụ thuộc - nhưng nó không phải là cần thiết để sử dụng các ứng dụng, chỉ có một tính năng cụ thể cần nó.

Vì vậy, tôi đã không thêm tôm vào phụ thuộc đá quý (không cần thiết), nhưng đối với phụ thuộc phát triển (nó hữu ích cho đá quý).

+0

Tôi không nhận được câu thứ hai của bạn – lulalala

+0

@lulalala Tôi đã thêm một ví dụ. – knut

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