【问题标题】:Failing to install activerecord-jdbcmysql-adapter gem无法安装 activerecord-jdbcmysql-adapter gem
【发布时间】:2011-02-10 11:57:08
【问题描述】:

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

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

如果我尝试简单地 gem install mysql 我会出现各种疯狂。

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

这是错误日志:

$ rake db:migrate (in /Users/xxxx/Sites/blog) rake 中止!

请安装 jdbcmysql 适配器:

gem install activerecord-jdbcmysql-adapter(没有要加载的文件--active_record/connection_adapter/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()... 是检查
-lmysqlclient 中的 mysql_query()... 否
检查 -lz 中的 main()... 是的

中检查 mysql_query() -lmysqlclient...不检查 -lsocket 中的 main()...不检查
-lmysqlclient 中的 mysql_query()... 否
检查 -lnsl 中的 main()...否

中检查 mysql_query() -lmysqlclient... 不检查 -lmygcc 中的 main()... 不检查
-lmysqlclient 中的 mysql_query()... 否
* extconf.rb 失败 * 由于某种原因无法创建 Makefile,
可能缺少必要的库
和/或标题。检查 mkmf.log
文件以获取更多详细信息。您可能需要配置选项。

提供的配置选项:
--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=/opt/local/bin/ruby
--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 文件将保持安装在
/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

【问题讨论】:

  • 我遇到了同样的问题,我昨天刚刚安装了 NetBeans。 Java 版本没有帮助,并且重新安装 Rails 2.3.8 也不起作用。有谁知道当前的修复是什么?

标签: ruby rubygems


【解决方案1】:

看起来不知何故我安装了两个版本的导轨。我原来是这样的:

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。卖了!

【讨论】:

    【解决方案2】:

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

    当我遇到这个ERROR: Failed to build gem native extension.时,这就是修复它的原因

    【讨论】:

    • 抱歉 Zack 你在推文中提到了这个,我完全忘了回复。我安装了 XCode,它运行良好,这是一个不同的问题。不过感谢您的回复,一直很感激。
    【解决方案3】:

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

    【讨论】:

    • 我没有选择在任何地方使用 JBury,这似乎是自己发生的。正如我所说,我使用 $ gem install rails os OS X 10.6 安装,所以无论做什么,我都拥有。
    【解决方案4】:

    对我有用:

    gem install --platform java activerecord-jdbcmysql-adapter
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2013-09-19
      相关资源
      最近更新 更多