Bất cứ khi nào tôi chạy một lệnh cào (ví dụ: rake routes
) Tôi nhận được lỗi này:Tại sao môi trường của tôi yêu cầu tôi chạy gói exec?
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.
Nếu tôi chạy bundle exec rake routes
nó hoạt động.
Tôi muốn có thể chỉ đơn giản là rake routes
mà không phải chạy bundle exec rake routes
.
Tôi đã xem xét các câu hỏi khác có lỗi tương tự và đã thử các giải pháp khác nhau (như chạy bundle update
) không có kết quả.
Ngoài ra, trong gemfile
của tôi tôi đã chỉ định gem 'rake', '0.9.2'
Bất kỳ lời đề nghị?
Cập nhật nhanh. Gần đây đã tìm thấy lời giải thích này từ RailsTutorial về việc cần sử dụng 'bundle exec':" Như đã đề cập trong phần 3.2.1, nó là cần thiết nói chung với các lệnh tiền tố như rake hoặc rspec với gói exec để các chương trình chạy chính xác (Vì lý do kỹ thuật, ngoại lệ duy nhất cho điều này là chính bản thân lệnh rails). "Hơn nữa," Miễn là số phiên bản của RVM là 1.11.x hoặc cao hơn, các gem được cài đặt sẽ tự động được thực hiện trong Môi trường Bundler, "do đó không yêu cầu tiền tố' bó exec'. – mmichael
liên kết đến giải thích: http://ruby.railstutorial.org/chapters/static-pages#sec-eliminating_bundle_exec – mmichael