2012-08-23 34 views
30

Tôi đang ở trong một dự án Rails cũ có một Gemfile. Tôi cố gắng để thêm một viên ngọc cho Gemfile và bundle install nhưng có một lỗi:Làm thế nào để `bundle install` khi Gemfile của bạn yêu cầu phiên bản bundler cũ hơn?

Bundler could not find compatible versions for gem "bundler": 
    In Gemfile: 
    rails (= 3.0.0) ruby depends on 
     bundler (~> 1.0.0) ruby 

    Current Bundler version: 
    bundler (1.1.5) 

This Gemfile requires a different version of Bundler. 

Các phiên bản của Rails nó sử dụng đòi hỏi bundler ~> 1.0.0 nhưng tôi có 1.1.5 cài đặt và đang sử dụng nó cho khác của tôi dự án. Thông thường tôi sẽ sử dụng bundle exec ... nhưng vì đây là gói chúng tôi đang nói về, nó phức tạp hơn một chút. Làm thế nào tôi có thể thêm một gem vào Gemfile của tôi và chạy bundle install trong khi sử dụng phiên bản của bundler mà nó yêu cầu?

+0

Tôi đoán uninstall 1.1.5 bundler đầu tiên. Sau đó cài đặt 1.0.0. Điều này sẽ khắc phục. Có lẽ có một giải pháp tốt hơn? – halfelf

Trả lời

55

Trước tiên, bạn cần phải cài đặt phiên bản thích hợp của bundler:

% gem install bundler -v '~> 1.0.0' 
Successfully installed bundler-1.0.22 

Sau đó buộc rubygems sử dụng phiên bản bạn muốn (see this post):

% bundle _1.0.22_ install 
+4

Tôi không biết về tính năng đó. Cảm ơn! – Andrew

+0

Tại sao cái này không có trong tài liệu Bundler?!? Cảm ơn, sau khi lãng phí nhiều giờ hơn tôi quan tâm để thừa nhận câu trả lời của bạn cuối cùng đã giải thích những gì tôi cần. – MikeSchinkel

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