2012-07-23 33 views
6

Trong đường ray 3 không rails s gọi trình bao để bạn không cần phải làm bundle exec rails s hoặc là bundle exec cần thiết để chạy rails s trong ứng dụng Môi trường của bạn Gemfile?đường ray s hoặc bó đường ray hành lý s

Cập nhật Nó hiểu rằng bundle exec nên được sử dụng trước khi nhiệm vụ cào vì phiên bản cào khác nhau. Xem http://railsapps.github.com/installing-rails-3-1.html để biết thêm chi tiết. Câu hỏi này được khoảng ray kịch bản, như:

rails s 
rails server 
rails c 
rails console 

^nên bundle exec được sử dụng trước khi những đường ray kịch bản, hoặc được bundler gọi bởi lệnh đường ray?

+0

Tôi luôn thêm 'alias rails = 'bundles exec rails'; alias rake = 'bundle exec rake'' vào bashrc của tôi. Đã giải quyết được sự cố. – meagar

+0

Tôi không nghĩ rằng thanh công cụ "alias rails = 'bundle' là cần thiết: xem: [http://railsapps.github.com/installing-rails-3-1.html](http://railsapps. github.com/installing-rails-3-1.html) && [http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/](http: //yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/) – dylanjha

Trả lời

9

Bạn sẽ nhận được hành vi này trong đường sắt> = 3.1 tuy nhiên bạn cần phải cẩn thận vì bạn có thể sử dụng một phiên bản cũ của rake:

Đó là thực hành tốt để sử dụng rake lệnh bó exec thay vì cào vì vậy bạn sẽ sử dụng phiên bản Rake được chỉ định trong gemfile của bạn (hoặc một phụ thuộc được chỉ định trong tệp Gemfile.lock) thay vì phiên bản mặc định. Ví dụ: thay vì rake db: di chuyển, hãy chạy lệnh bundle exec rake db: di chuyển.

Những điều bạn cần biết: Đảm bảo bạn đang sử dụng Rake 0.9.2.2 (hoặc mới hơn) với cào cập nhật đá quý trước khi cài đặt Rails 3.1. Và sử dụng gói exec cào thay vì cào.

Trích dẫn từ: http://railsapps.github.com/installing-rails-3-1.html

Dường như điều ngược lại nó đúng đối với đường ray lệnh:

không chạy bó exec trước khi lệnh đường ray, đường ray đã kiểm tra sự hiện diện của Bundler thông qua Gemfile và thiết lập tất cả mọi thứ theo nó mà không có phí của gói exec. lệnh rails là ngoại lệ duy nhất cho quy tắc.

Trích dẫn từ: - "! Rails 3 đi kèm với nướng hỗ trợ với bundler ... Bundler được minh bạch quản lý phụ thuộc của bạn" http://blog.wyeworks.com/2011/12/27/bundle-exec-rails-executes-bundler-setup-3-times

+0

Tôi hiểu rằng 'bó exec' là một ý tưởng tốt cho các tác vụ rake nhưng những gì về các kịch bản đường ray như' ray server' hoặc 'ray console'? – dylanjha

+0

Xin lỗi vì sự nhầm lẫn ... Tôi đã chỉnh sửa câu trả lời này để phản ánh câu hỏi đúng. – barancw

+0

Cảm ơn bạn đã xóa thông tin đó! – dylanjha

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