Làm cách nào để cài đặt MySQL Ruby Gem trên Ubuntu 9.10?


10

Tôi gặp sự cố khi cài đặt Ruby Gem cho MySQL. Đây là lệnh mà tôi đang chạy:

sudo gem install mysql

và đây là đầu ra mà tôi nhận được:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby1.8
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mlib
    --without-mlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-zlib
    --without-zlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-socketlib
    --without-socketlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-nsllib
    --without-nsllib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mygcclib
    --without-mygcclib
    --with-mysqlclientlib
    --without-mysqlclientlib


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Tôi cần làm gì để cài đặt cái này?

Câu trả lời:


27

Nhờ chủ đề này mà tôi phát hiện ra rằng lý do nó không cài đặt được là vì

... một đường dẫn chỉ sai cách khi gói được biên dịch.

Rất may, giải pháp rất đơn giản:

sudo gem uninstall mysql
sudo apt-get install libmysqlclient-dev -y
sudo gem install mysql 

Lưu ý: Tôi đã nhận được thông báo lỗi khi cố gắng gỡ cài đặt mysql, nhưng điều đó không sao vì nó không được cài đặt ở nơi đầu tiên. Trong khi cài đặt đá quý mysql, tôi nhận được các thông báo trông giống như lỗi: No definition for next_resultnhưng đó không phải là lỗi. Điều này xảy ra khi cài đặt tài liệu. Chúng chỉ là những thông điệp nói rằng không có tài liệu nào có sẵn cho một số chức năng nhất định.


4

Bạn không thực sự cần viên ngọc đó để sử dụng MySQL trong Ruby. Có một gói trong Debian / Ubuntu đã có cùng mã được biên dịch và chuẩn bị. Chỉ cần gõ sudo apt-get install libmysql-ruby.


4

Trên Ubuntu Hardy, 8.04 tôi đã cài đặt apt-get để làm việc với:

sudo apt-get install libmysqlclient15-dev -y
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.