Ten problem jest słyszalny, ale zamiast odkopywać Internet i pamięć, właśnie spróbowałem:Zainstaluj najnowszą wersję mysql2
z serii 0.3 (0.3.20 w momencie pisania tego tekstu) i spakuj go do aplikacji.
Problem wydaje się, że najnowszy mysql2
gem w wersji 0.4 nie jest kompatybilny z Rails 3.
Wersje klejnotów nie mogą zostać zmienione i chcesz mieć te same wersje co produkcyjne. Aby to zrobić, możesz po prostu skopiować plik Gemfile.lock
plik z serwera produkcyjnego, umieść go w lokalnym folderze obok Gemfile
i uruchom bundle install
polecenie.
Zwróć uwagę, że jeśli Twój Gemfile
określa:
gem 'mysql2', '> 0.3'
Następnie Bundler zainstaluje najnowszą wersję, która pasuje do 0.n
gdzie n >= 3
. W chwili pisania tego tekstu Bundler otrzymuje 0.4
wersji, która nie jest kompatybilna z twoją wersją Railsów (Bundler nie może wywnioskować tego z twojego Gemfile
). Rozwiązaniem dla Ciebie jest zmodyfikowanie kopii pliku Gemfile
(i zaangażowanie go w swój projekt może być dobrym pomysłem):
gem 'mysql2', '> 0.3.13' # put here the actual version used in production
W ten sposób Bundler zainstaluje wersję zgodną z 0.3.n
, z n >= 13
.