Gem::LoadError
Specified 'mysql2' for database adapter, but the gem is not loaded.
Add `gem 'mysql2'` to your Gemfile
Kesalahan ini terjadi saat memuat file berikut:
active_record/base
Ini adalah kesalahan yang saya dapatkan saat menjalankan server rel.
The mysql2 gem has been added to the Gemfile as well.
Saya sudah selesai bundle install
, dan mencoba memulai ulang server tetapi masih mendapatkan kesalahan.
ruby-on-rails
mysql2
gemfile
Mysoulisinseoul
sumber
sumber
bundle
setelah menambahkan permata dan memulai ulang server?bundle install --deployment
Jawaban:
Jika Anda mengalami kesalahan ini saat meningkatkan ke rails 4.2.4 (juga dengan rails 4.1.5) coba gunakan versi mysql2 ini:
Rupanya mysql2 tidak masih kompatibel dengan versi rel yang lebih baru karena rails 4.2.4 cukup baru karena waktu saya menjawab pertanyaan ini 8 September 2015 jadi gunakan baris di atas di file Permata Anda dan jalankan:
Anda sebaiknya pergi
sumber
Ini berfungsi untuk saya ketika saya menentukan versi permata mysql2 sebelum yang terbaru (0.4.0). Untuk beberapa alasan ada masalah dengan Rails 4.2.4 dan permata 0.4.0 itu. Jadi, untuk memecahkan masalah, saya baru saja menentukan permata sebelumnya yang dirilis: 0,3.20 dan itu berfungsi dengan baik untuk saya!
Anda dapat memeriksa semua versi permata di sini: https://rubygems.org/gems/mysql2/versions
sumber
Mengubah
di Gemfile Anda.
Utas ini di mysql2 resmi Github mengatakan untuk melakukan ini. Anda perlu menyatakan nomor versi itu jika Anda menjalankan versi 4.xx
https://github.com/brianmario/mysql2/issues/675
Lalu lari
bundle update mysql2
.sumber
bundle update
karena ini akan memperbarui semua permata Anda. Perintahnya adalahbundle update mysql2
. Mungkin tampak jelas, tetapi itu adalah perintah yang salah dan dapat menimbulkan konsekuensi yang tidak diinginkan. (Untuk kembali daribundle update
, larigit checkout -- Gemfile.lock
)Saya mendapat kesalahan yang sama setelah meningkatkan ke Rails 4.1 dan saya berhasil mengatasinya dengan memperbarui mysql2. Jalankan ini di folder aplikasi rel Anda:
sumber
Masalah ini dapat terjadi jika Anda menggunakan versi rel> 4 yang lebih baru
Lakukan dua langkah sederhana ini, itu akan berhasil. Buka Gemfile Anda dan temukan baris di bawah ini
ganti baris itu dengan versi mysql tertentu seperti di bawah ini
Sekarang hentikan server dan jalankan bundel
Sekarang restart server Anda. Ini harus berhasil.
sumber
Menjadi Pemula ruby saya tidak bisa menemukan permata baris 'mysql2', '~> 0.3.18'
itu berarti pergi ke folder proyek rails Anda dan kemudian ada baris untuk mysql2 itu akan menjadi seperti 0,4 * sehingga Anda dapat mengubahnya menjadi permata 'mysql2', '~> 0.3.18'
dan karena kami memiliki definisi baru, kami harus membangun kembali ketergantungan tersebut sehingga untuk melakukan perintah sederhana itu seperti yang dijelaskan di bagian atas pemasangan bundel
sumber
Itu tidak memuat permata mysql2 karena versi baru permata mysql2 (0.4.1) tidak dapat memuat permata mysql2_adaptor. Ini bekerja untuk saya.
dan lari
sumber
Saya mengalami kesalahan yang sama dan ini karena Rails 4.1 memerlukan versi minimum mysql2 0.3.13, dan kompatibel maksimum dengan Windows adalah versi 0.3.11.
Jadi saya mengedit file
c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb
dan mengubah barisgem 'mysql2', '~> 0.3.13'
menjadigem 'mysql2', '~> 0.3.11'
, dan sejauh ini berhasil.sumber
Inilah cara saya memperbaikinya:
Kredit: Bagaimana Anda membatalkan pemasangan bundel --tanpa
sumber
Itu tidak memuat permata mysql2 karena versi baru permata mysql2 (> = 0.4.0) tidak dapat memuat permata mysql2_adaptor. Bisakah kamu mencobanya?
gem 'mysql2', '~> 0.3.13'
Semoga berhasil.
sumber
Saya memecahkan masalah, menginstal permata mysql2 lokal (permata menginstal mysql2, menginstal bundel) dan menambahkan baris berikut ke Gemfile:
gem 'mysql2'
Mengatur adaptor mysql2 di database.yml
adapter: mysql2
juga penting!
sumber
Saya benar-benar baru mengenal Ruby on Rails dan situs web tetapi mendengar apa yang berhasil untuk saya.
Saya harus mengubah gemfile saya, gem 'mysql2' menjadi gem 'mysql2', '~> 0.3.13' lalu di rails saya mengetik bundel install kemudian saya mencoba rails s dan mendapat error jadi saya mencoba bundle update mysql2 lalu di rails diketik rel s, dan itu berhasil
sumber
Saya memecahkan masalah, menginstal libmysqlclient-dev. sudo aptitude install libmysqlclient-dev dan kemudian jalankan bundel.
sumber
Saya sebelumnya telah menginstal mysql2 0.4.5 tetapi itu memberi saya kesalahan ini jadi saya telah menginstal versi lain dari mysql2 oleh:
permata instal mysql2 --version 0.3.20
Semoga ini menyelesaikan masalah Anda.
sumber