Saya mengalami beberapa masalah ketika mencoba memasang mysql2
permata untuk Rails. Ketika saya mencoba menginstalnya dengan menjalankan bundle install
atau gem install mysql2
itu memberi saya kesalahan berikut:
Kesalahan menginstal mysql2: ERROR: Gagal membangun ekstensi asli permata.
Bagaimana saya bisa memperbaiki ini dan berhasil menginstal mysql2
?
Jawaban:
Di Ubuntu / Debian dan distribusi lainnya menggunakan aptitude:
Paket
libmysql-ruby
telah dihapus dan diganti olehruby-mysql
. Ini adalah di mana saya menemukan solusi.Jika perintah di atas tidak berfungsi karena
libmysql-ruby
tidak dapat ditemukan, yang berikut ini sudah cukup:Di Red Hat / CentOS dan distribusi lainnya menggunakan yum:
Di Mac OS X dengan Homebrew :
sumber
libmysqlclient-dev
sudah cukup.Saya menggunakan mac dan menggunakan homebrew untuk menginstal program open source. Saya memang harus menginstal alat-alat mac Dev untuk menginstal homebrew, tetapi setelah itu sederhana:
untuk menginstal mysql. Saya tidak punya masalah permata mysql sejak itu.
sumber
brew link mysql --force
.di sini adalah solusi untuk pengguna windows , semoga membantu!
Menggunakan MySQL dengan Rails 3 di Windows
Instal railsinstaller -> www.railsinstaller.org (Saya menginstalnya ke c: \ Rails)
Instal MySQL (Saya menggunakan MySQL 5.5) -> dev.mysql.com/downloads/installer/
Anda sekarang akan dapat menggunakan aplikasi Rails Anda dengan MySQL, jika Anda tidak yakin cara membuat aplikasi Rails 3 dengan MySQL baca terus ...
--- Dapatkan aplikasi Rails 3 dengan MySQL ---
Buka command prompt (bukan Git Bash) -> start / cmd
Navigasikan ke folder Anda (c: \ Sites)
Buat aplikasi rails baru
Hapus file c: \ Sites \ world \ public \ index.html
Edit file c: \ Sites \ world \ config \ routes.rb
tambahkan baris ini -> root: ke => 'cities # index'
Buka command prompt (menghasilkan tampilan dan pengontrol)
Edit file c: \ Sites \ world \ app \ models \ city.rb agar terlihat seperti ini
Edit file c: \ Sites \ world \ config \ database.yml agar terlihat seperti ini
tambahkan ke gemfile
Buka command prompt windows cmd, bukan Git Bash (jalankan aplikasi Anda!)
Navigasikan ke folder aplikasi Anda (c: \ Sites \ world)
Buka browser Anda di sini -> http: // localhost: 3000
--- Dapatkan aplikasi Rails 3 dengan MySQL ---
sumber
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
tanpa tanda kutip `` saya dilucuti. Terima kasihSaya memiliki beberapa komputer, prosesor 32 dan 64 bit, mereka berjalan di Ubuntu Linux, rilis Maverick (10.10).
Saya memiliki masalah yang sama, dan bagi saya,
sudo apt-get install libmysql-ruby libmysqlclient-dev
pekerjaan itu !!!sumber
Untuk MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
sumber
Cara lain untuk pengguna MacOS
Jika Anda menggunakan "brew" untuk menginstal mysql:
xxx = versi permata mysql2 yang ingin Anda instal
yyy = versi mysql yang telah Anda instal
ls /usr/local/Cellar/mysql
untuk menemukannya.sumber
Sudahkah Anda mencoba menggunakan
untuk menentukan lokasi direktori basis serta jalur ke perpustakaan MySQL yang diperlukan untuk menyelesaikan instalasi permata?
Sumber: Instal MySQL Gem ERROR: Gagal membangun ekstensi asli gem Forum MySQL :: Ruby :: Bantuan diperlukan dengan menginstal MySQL binding untuk Ruby
sumber
which mysql
dan kemudian menemukanlib
direktori dari sana.Jika Anda menggunakan yum, cobalah:
sumber
Ini menyelesaikan masalah saya sekali di Windows:
sumber
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Jika Anda masih mengalami masalah ....
Coba pasang
sumber
Saya memiliki masalah ini pada Windows 7. Ini tampaknya masalah ketidakcocokan dan solusinya adalah sebagai berikut:
Unduh
libmySQL.dll
file dari penginstal InstantRails yang lebih lama. Ini tersedia dari repo InstantRails GitHub .Selanjutnya, salin file itu ke folder Ruby / bin Anda.
Sekarang, kamu baik-baik saja;)
sumber
bundle install
.Saya mendapat kesalahan ini juga. Dipecahkan dengan menginstal paket pengembangan. Saya menggunakan lengkungan dan itu:
yang dipasang:
tapi saya pikir itu benar-benar membutuhkan make dan gcc. Output kesalahan berkata (pada mesin saya, antara lain):
"Anda harus menginstal alat pengembangan terlebih dahulu."
Jadi itu adalah keputusan yang jelas dan itu membantu.
sumber
Anda harus menginstal beberapa dependensi
sumber
Pada Debian Stretch paket yang berfungsi untuk saya adalah default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
sumber
Dalam kasus saya ini membantu:
Kemudian:
Hasil:
Lihat posting ini (PERINGATAN: Bahasa Jepang di dalamnya).
sumber
Di Ubuntu (18.04)
saya dapat mengatasi masalah ini dengan menjalankan yang berikut:
referensi
sumber
Saya mengalami kesalahan ini pada mac saya dan menemukan bahwa saya perlu meng-upgrade dari mysql 32bit ke mysql 64 bit untuk mendapatkan kesalahan ini untuk pergi. Saya menjalankan OSX 10.6 pada intel macbook pro dengan ruby 1.9.2 dan rails3.0.0
Saya juga perlu menginstal xcode untuk mendapatkan utilitas unix seperti "make" yang diperlukan untuk mengkompilasi permata.
setelah ini selesai saya bisa menjalankan gem install mysql dan gem install mysql2 tanpa kesalahan.
sumber
Untuk pengguna windows: Anda mengatur lib dan memasukkan path mysql Anda, misalnya, jika Anda menggunakan xampp Anda dapat memiliki seperti ini:
sumber
Solusi hanya berfungsi di Mac OS X
Jika Anda telah menginstal MySQL dengan homebrew, yang berhasil bagi saya adalah mencopot pemasangan MySQL, dan menginstal MySQL Community Edition melalui situs web MySQL ( https://www.mysql.com/ ).
Setelah diinstal, cukup masukkan kembali perintah ke
gem install mysql2
atau jika perlusudo gem install mysql2
,, jika Anda mendapatkan izin yang ditolak.sumber
Saya mendapatkan permata yang dibangun di Mac OS X 10.6.6 dengan 1) Memastikan paket alat Pengembang terinstal 2) Mengunduh paket MySQL saat ini (5.5.8 dalam kasus saya) dari Sumber 3) Menginstal alat cmake dari cmake.org 4 ) Mengikuti instruksi pada bagian 2.11 dari INSTALL-SUMBER dari file distribusi mysql 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
Permata berhasil dibangun, tetapi ada dua kesalahan dalam dokumentasi yang dikeluhkan oleh rdoc dan ri. Tetapi sekarang ketika saya mencoba untuk meminta 'mysql2' saya mendapatkanSaya berharap kesalahan yang akan saya dapatkan adalah bahwa libmysqlclient.16.dylib tidak dapat ditemukan karena kami menemukan itu di pos lain (mencari install_name_tool).
$ PATH saya memiliki / usr / local / mysql di dalamnya (di situlah sumber dan file yang dibangun berada), jadi saya agak bingung. Jika ada yang punya pikiran, saya akan periksa kembali setelah beberapa jam tidur.
sumber
Jika masih mendapatkan kesalahan maka ikuti langkah-langkah pemasangan permata mysql2 di Rails 3 pada -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
di mana sebagian besar pengguna dapat menginstal permata mysql2.
sumber
Setelah Anda menyelesaikan masalah mysql-dev, Anda mungkin perlu menghapus instalasi mysql2 yang buruk. Perhatikan baik-baik pesan setelah menginstal $ bundle. Anda mungkin perlu
Ini akan menghapus instalasi mysql2 yang buruk sehingga instalasi $ bundle akhir dapat membuat yang bagus.
sumber
unduh versi mysqllib.dll yang tepat lalu salin ke ruby bin benar-benar berfungsi untuk saya. Ikuti tautan ini jika permata mysql2 dikompilasi untuk pustaka klien mysql yang salah
sumber
Mendapat "Anda harus menginstal alat pengembangan terlebih dahulu." kesalahan ketika mencoba untuk menginstal permata mysql2 setelah memutakhirkan ke Mac OS X Mountain Lion . Rupanya melakukan peningkatan ini menghapus kompiler baris perintah.
Memperbaiki:
sumber
Anda mendapatkan masalah ini karena Anda belum menginstal MySql. Sebelum menginstal permata mysql2. Instal MySQL. Setelah itu permata mysql2 akan diinstal.
sumber
Saya hanya ingin menambahkan jawaban ini khusus untuk Pengguna Mac .
Server saya berjalan dengan baik sampai saya memperbarui xcode saya. Saat memulai server rails saya kesalahan ditampilkan seperti ini
Dan ada saran untuk menginstal permata mysql2 di akhir pesan kesalahan. Jadi ketika saya mencoba menginstalnya saya mendapat kesalahan seperti yang disebutkan di atas dalam pertanyaan ini. Kesalahan yang saya dapatkan adalah sebagai berikut
Jadi seperti yang disarankan dalam posting ini saya mencoba 'brew install mysql' dan yang berhenti mengatakan bahwa versi mysql sudah dan sudah diinstal. Tapi ada peringatan sebelum mengatakannya
Kemudian saya mencoba ini
sudo xcodebuild -license
dan mengetik 'setuju' di akhir. Anda harus menjadi root untuk menyetujui lisensi.Setelah ini, saya kembali mencoba menginstal bundel dan kemudian semuanya berfungsi dengan baik seperti biasa. [Bahkan karena pembaruan xcode ini, saya juga punya masalah dengan menara saya.]
sumber
libmysql-ruby
telah dihapus dan diganti. Perintah baru:sumber