【问题标题】:Error with MySql while doing Bundle InstallMySql 在进行捆绑安装时出错
【发布时间】:2011-11-29 17:27:08
【问题描述】:

当我进行捆绑安装时,我收到以下错误:

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

我该如何解决这个问题?

【问题讨论】:

    标签: mysql ruby-on-rails ruby ruby-on-rails-3.1


    【解决方案1】:

    我找到了我的解决方案,这里是:

    第 1 步:清理您之前安装的 rvm 和 Xcode

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

    第 2 步:从 App Store 安装 Xcode,否则安装程序可能会保存在您的 Launchpad 中。

    第 3 步:安装 HomeBrew:

        => 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;
    

    【讨论】:

    • 我标记了它,但如您所知,标记您自己问题的答案需要两天时间。无论如何感谢您的提醒:)
    【解决方案2】:

    您可以下载库并将其位置作为标志手动传递给 gem 构建过程,但这有点麻烦。

    正在 /usr/local/bin 中搜索 MySQL,这对于 homebrew 安装是有意义的,但如果 sudo brew 不起作用,则存在权限问题,您可能会遇到更多麻烦。

    我会诚实地修复 brew b/c,这将继续让您感到沮丧。修复的正常舞蹈 - 使用 Disk Utitlity 修复权限,运行 brew doctor 检查问题,如果出现问题则内爆并重新安装。

    祝你好运

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2017-07-25
      相关资源
      最近更新 更多