2011-08-24 35 views
19

Tôi đang cố gắng cài đặt đá quý mysql2 cho Ruby Enterprise Edition. Tôi nhận được thông báo lỗi:MySQL2 với tiện ích mở rộng gốc ERROR: Không thể xây dựng tiện ích mở rộng gốc đá quý. (Gem :: Installer :: ExtensionBuildError)

Installing mysql2 (0.2.7) with native extensions /Users/rookieRails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/installer.rb:551:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

     /Users/vinayashrestha/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... no 
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... no 
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 

Có ai có ý tưởng về tùy chọn cấu hình nào tôi nên sử dụng hay bất kỳ điều gì cần khắc phục?

Trả lời

1

Tôi nhận ra mình không cài đặt mySQL, gần đây tôi đã nâng cấp lên Lion và đã quên cài đặt mySQL. Tuy nhiên, sau đó tôi có một số vấn đề, tôi theo bài viết này để thiết lập tất cả mọi thứ:

http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard

Và bây giờ tất cả mọi thứ hoạt động tốt.

+0

Tôi không hiểu tại sao bạn cần cài đặt mysql, bạn có thể kết nối với máy chủ từ xa, có thể bạn có nghĩa là 'kết nối mysql' – zinking

0

Tôi phải đăng bài này và tôi phải yêu cầu mọi người truyền bá nó.

Nếu bạn đang cố gắng sử dụng mysql làm cơ sở dữ liệu, bạn đã làm mọi thứ đúng và mọi thứ sai và nó không hoạt động và bạn tiếp tục nhận "cài đặt activerecord-mysql-adapter".

Chỉ cần thử đặt '' quanh mysql trên tệp cơ sở dữ liệu.

adapter: 'mysql' 

Phải mất khoảng 5 giờ cuộc sống của tôi, các file dll, rối tung với các tập tin bộ chuyển đổi, cập nhật gói, gỡ bỏ cài đặt rất nhiều thứ, cài đặt lại họ ... và sau đó "hãy để tôi đặt những '' ở đây ... "

Nó hoạt động ngay bây giờ.

53

Hãy thử với điều này, nó làm việc cho tôi:

sudo apt-get install libmysql-ruby libmysqlclient-dev 
+1

cảm ơn. nó giúp tôi. –

+0

nên được chấp nhận trả lời – Dragouf

+0

@ Dragouf thực sự nó không nên, bởi vì vấn đề Ganesh đã được trên một mac và giải pháp này nên được chỉ cho Linux –

30

Giữ một mắt, nếu bạn đang sử dụng RVM, không cài đặt libmysql-ruby vì có liên quan với các phiên bản Ubuntu Ruby. Chỉ cần đặt sudo apt-get install libmysqlclient-dev và nó sẽ làm việc

+1

Điều này làm việc cho tôi trên Ubuntu 12.04 – Joseph

5

Trong trường hợp của tôi chỉ bỏ liên kết liên kết tượng trưng và cài đặt lại mysql trong bia giúp:

brew unlink mysql 
brew cleanup 
brew install mysql 
gem install mysql2 
+0

Điều này giải quyết vấn đề trên osx với homebrew cũng như trên ubuntu với linuxbrew – wintondeshong

0
sudo apt-get install libmysqlclient-dev 

hoặc

yum install mysql-devel 

Nó làm việc cho tôi.

Các vấn đề liên quan