无法安装activerecord-jdbcmysql-adapter gem

时间:2010-04-21 08:22:52

标签: ruby rubygems

我正在尝试关注基本的“Create a blog in 20 minutes”Rails截屏视频,但已经遇到了绊脚石。

当我尝试rake db:migrate时,我收到有关未安装gem activerecord-jdbcmysql-adapter的错误。当我尝试安装它时,我被告知它不存在。

如果我尝试简单地安装宝石mysql,我就会出现各种各样的疯狂。

我在Mac OS X 10.6.2上运行它,我的安装都是通过gem完成的。我的基本设置有效(Hello world!)。

以下是错误日志:

  

$ rake db:migrate(在/ Users / xxxx / Sites / blog中)rake aborted!

     

请安装jdbcmysql适配器:

     

gem install activerecord-jdbcmysql-adapter(没有要加载的文件 - active_record / connection_adapters / jdbcmysql_adapter)

     

(通过使用--trace运行任务查看完整跟踪)

     

$ sudo gem install activerecord -jdbcmysql-adapter

     

错误:在本地或存储库中找不到gem activerecord-jdbcmysql-adapter

     

$ sudo gem install mysql密码:   构建原生扩展。这个   可能需要一段时间...错误:错误   安装mysql:错误:失败   构建gem原生扩展。

     

/ opt / local / bin / ruby​​ extconf.rb
  检查中的mysql_query()   -lmysqlclient ...没有检查-lm中的main()...是检查
  mysql_query()在-lmysqlclient中...没有   在-lz中检查main()...是的   检查中的mysql_query()   -lmysqlclient ...没有检查-lsocket中的main()...没有检查
  mysql_query()在-lmysqlclient中...没有   检查main()in -lnsl ...没有
  检查中的mysql_query()   -lmysqlclient ...没有检查-lmygcc中的main()...没有检查
  mysql_query()在-lmysqlclient中...没有    * extconf.rb失败* 由于某种原因无法创建Makefile,
  可能缺乏必要的图书馆   和/或标题。检查mkmf.log
  文件了解更多详情。您可能需要配置选项。

     

提供配置选项:
    --with-opt-dir --without-opt-dir
    --with-OPT-包括
    --without-OPT-包括= $ {停用DIR} /包括
    --with-OPT-lib的
    --without-OPT-LIB = $ {选择-DIR} / lib目录
    --with-make-prog --without-make-prog
    --srcdir =。 --curdir
    --ruby = /选择/ local / bin目录/红宝石
    --with-mysql的,配置
    --without-mysql的,配置
    --with-mysql-dir --without-mysql-dir
    --with-mysql的,包括
    --without MySQL的-包括= $ {的MySQL-DIR} /包括
    --with-mysql的-lib的
    --without MySQL的-LIB = $ {的MySQL-DIR} / lib中
    --with-mysqlclientlib
    --without-mysqlclientlib --with-mlib
    --without-mlib --with-mysqlclientlib
    --without-mysqlclientlib --with-zlib
    --with-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

     

宝石文件将保留在中   /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1
  检查。结果记录到
  /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

4 个答案:

答案 0 :(得分:2)

看起来像某种方式或其他我安装了两个版本的rails。我原来做了:

gem install rails

安装了2.3.5。然后,当我试图运行脚手架时,它说我有错误的版本它抱怨并建议我安装2.3.5 ......

我用命令做了这个:

gem install -v=2.3.5 rails

这意味着我有两个(我在尝试卸载时发现了它),并且出于某种原因它试图使用Ruby版本......这可能是使用错误设置的Netbeans。

最后我卸载了所有东西,跑了:

gem install -v = 2.3.5 rails

并确保Netbeans不像以前那样尝试使用JRuby。现在我有一个版本不抱怨脚手架或db:migrate。售出!

答案 1 :(得分:1)

听起来您没有安装Apple Dev Tools,其中包含Ruby头文件。

当我遇到这个ERROR: Failed to build gem native extension.

时,就是这个问题

答案 2 :(得分:0)

也许你的意思是activerecord-jdbcmysql-adapter?你可以做一个gem activerecord-jdbcmysql-adapter并安装。但是AFAIK你只需要使用JDBC,通常使用JRUBY。如果您使用的是JRUBY,我建议您使用此网站http://kenai.com/projects/jruby/pages/Home

答案 3 :(得分:0)

适用于我:

gem install --platform java activerecord-jdbcmysql-adapter

http://rubygems.org/gems/activerecord-jdbcmysql-adapter看到该版本被连字符-java后,意识到它并没有默认为正确的平台。

(之前是否有“gem update --system”。不确定它是否对此有任何影响。)

哦,是的,对于Mysql,您需要为mysql安装xcode和可能的其他标头。