2011-11-29 152 views
3

當我做捆綁安裝,我得到以下錯誤:錯誤與MySQL捆綁安裝

Installing mysql2 (0.3.10) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /Users/manish/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
checking for rb_wait_for_single_fd()... 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=/Users/manish/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 
--with-mysql-config 
--without-mysql-config 
extconf.rb:33:in ``': No such file or directory - /usr/local/bin/mysql_config --cflags (Errno::ENOENT) 
from extconf.rb:33:in `<main>' 


Gem files will remain installed in /Users/manish/.rvm/gems/ruby-1.9.2-p290/gems/mysql2- 0.3.10 for inspection. 
Results logged to /Users/manish/.rvm/gems/ruby-1.9.2-p290/gems/mysql2- 0.3.10/ext/mysql2/gem_make.out 
An error occured while installing mysql2 (0.3.10), and Bundler cannot continue. 
Make sure that `gem install mysql2 -v '0.3.10'` succeeds before bundling. 

在Gemfile中MySQL是這樣的:

gem "mysql2", ">=0.3.0" 

當我還嘗試使用brew跟隨sudo安裝MySql它會產生以下錯誤:

sudo: unable to execute /usr/local/bin/brew: Permission denied 

如何解決此問題?

回答

4

我發現我的解決方案,那就是:

第1步:清理你以前安裝RVM和Xcode的

=> rm -rf ~/.rvm  
    => sudo rm -rf /Developer 

步驟2:從應用商店安裝的Xcode或安裝程序可能會保存在您的Launchpad中。

3步驟:安裝自制:

=> mkdir -p /usr/local/Cellar 
    => /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" 

步驟4:安裝RVM

=> bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) 
    => echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile 

步驟5:安裝Ruby 1.9.2

=> rvm install 1.9.2 
    => rvm use ruby-1.9.2 --default 
    => gem install rails thin bundler 
    => rvm install 1.9.2-head 
    => brew install git ack wget curl redis memcached libmemcached colordiff imagemagick 

步驟6:安裝MySQL

=> brew install mysql 
    => mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp 
    => mkdir -p ~/Library/LaunchAgents 
    => cp /usr/local/Cellar/mysql/5.5.15/com.mysql.mysqld.plist ~/Library/LaunchAgents/ 
    => launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist 
    => mysql -u root 
    => UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; 
    => FLUSH PRIVILEGES; 
+0

如果這是答案,您應該將其標記爲已接受。 –

+0

我標記了它,但正如你所知道的標記你自己的問題的答案需要兩天時間。無論如何感謝提醒:) –

+0

沒有probs,容易忘記。繼續 :) –

1

您可以下載這些庫並將其作爲標誌手動傳遞到寶石構建過程,但這有點痛苦。

MySQL正在/ usr/local/bin中進行搜索,這對於自制安裝很有意義,但如果sudo brew不起作用,則會出現權限問題,您可能會遇到更多麻煩。

我會修復老老實實的釀造B/C,這將繼續挫敗你。正常舞蹈修復 - 使用Disk Utitlity修復權限,運行釀造醫生檢查問題,如果事情變糟,就會崩潰並重新安裝。

好運

+0

謝謝@john,我會試試:) –