Sự cố này làm rung chuông, nhưng thay vì tìm kiếm Internet và bộ nhớ của tôi, tôi chỉ thử cách sau:Cài đặt mysql2
mới nhất của chuỗi 0,3 (0,3.20 tại thời điểm viết bài) và gói nó lại cho ứng dụng.
Có vẻ như vấn đề là mysql2
mới nhất gem phiên bản 0.4 không tương thích với Rails 3.
Các phiên bản đá quý của bạn không thể thay đổi và bạn muốn có các phiên bản giống như phiên bản sản xuất. Để làm như vậy, bạn chỉ cần sao chép qua Gemfile.lock
của mình từ máy chủ sản xuất, hãy đặt nó vào thư mục cục bộ của bạn bên cạnh Gemfile
và thực hiện bundle install
lệnh.
Lưu ý rằng nếu Gemfile
của bạn chỉ định:
gem 'mysql2', '> 0.3'
Sau đó, Bundler sẽ cài đặt phiên bản mới nhất phù hợp với 0.n
nơi n >= 3
. Tại thời điểm viết, điều đó khiến Bundler nhận được 0.4
phiên bản này không tương thích với phiên bản Rails của bạn (Bundler không thể suy ra điều đó từ Gemfile
của bạn ). Một giải pháp cho bạn là sửa đổi bản sao của Gemfile
(và cam kết thực hiện dự án của bạn có thể là một ý kiến hay):
gem 'mysql2', '> 0.3.13' # put here the actual version used in production
Làm như vậy, Bundler sẽ cài đặt phiên bản phù hợp với 0.3.n
, với n >= 13
.