【问题标题】:Using DataMapper with Rails 3 , Ruby 1.9.2 and MySQL --> [BUG] cross-thread violation on rb_gc()在 Rails 3、Ruby 1.9.2 和 MySQL 中使用 DataMapper --> [BUG] rb_gc() 上的跨线程冲突
【发布时间】:2010-11-08 09:17:25
【问题描述】:

正如 dm-rails gem 网站 (https://github.com/datamapper/dm-rails) 上所说,我正在做

*rails new project_name -m http://datamapper.org/templates/rails.rb -d mysql*

问题是“-d mysql”。 一切都在 sqlite 中运行。

但是使用 mysql 我得到了 [BUG] rb_gc() 上的跨线程冲突 (无效的) 中止陷阱

我在 Mac snow leopard 10.6.4,ruby 1.9.2 via rvm,rails 3.0.1,dm-rails 1.0.4

嘻嘻。 3 小时后它让我发疯了

**更新——找到解决方案

我终于搞定了,并在博客上写到了**

http://railspath.blogspot.com/2010/11/datamapper-rails-3-and-mysql-in-rvm-on.html

【问题讨论】:

    标签: mysql ruby-on-rails ruby datamapper


    【解决方案1】:

    不必使用 ARCHFLAGS。作为维护者,我认为每一个这样的必要性都是一个错误。首选方法是让 mysql_config 在您的 PATH 中可用。如果是这种情况,编译应该是成功的(如果你正确安装了 MySQL)。

    另一个潜在的问题原因可能是您的 MySQL 安装是 32 位而不是 64 位。您可以通过以下方式进行检查(请使用正确的路径):

    文件 /path/to/your/bin/mysql

    它应该输出如下内容:

    Mach-O 64 位可执行 x86_64

    【讨论】:

      【解决方案2】:

      当“do_mysql”gem 未正确安装时发生错误。

      mysql-server 应该从 www.mysql.com 安装

      rvm 1.9.2

      然后不用 sudo

      *env ARCHFLAGS="-arch x86_64" gem install do_mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with -mysql-include=/usr/local/mysql/include*

      br 米

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-01
        • 2011-06-13
        • 1970-01-01
        • 1970-01-01
        • 2011-08-27
        • 1970-01-01
        相关资源
        最近更新 更多