【问题标题】:rails 3.1 'Symbol not found: _sqlite3_open_v2' sqlite3rails 3.1'找不到符号:_sqlite3_open_v2' sqlite3
【发布时间】:2012-01-20 23:07:01
【问题描述】:

好的,我一直在成功地使用 sqlite3 作为这个小型 rails 3.1 项目的开发,我的第一个不是示例,我想将它转移到 Leopard PPC 机器上。我已经这样做了,并且已经将我的 gem 捆绑安装到 PPC 本机版本,尽我所能。我已经将 sqlite3 从源代码构建到 /usr/local/ 以确保它是 PPC 原生的并且版本为 3.7.9。我正在使用 rvm 来使用 ruby​​ 1.9.2 p290。我的 Gemfile 引用:gem 'sqlite3', '~> 1.3.0'

当我捆绑 exec rake db:migrate 时,我收到以下错误:

> dyld: lazy symbol binding failed: Symbol not found: _sqlite3_open_v2  
> Referenced from:
> /Users/wanzie/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle
> Expected in: flat namespace
> 
> dyld: Symbol not found: _sqlite3_open_v2   Referenced from:
> /Users/wanzie/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle
> Expected in: flat namespace
> 
> Trace/BPT trap

好的,在stackoverflow上查看了一下,其他人在Leopard上遇到了这个问题,并建议将gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' 放在Gemfile中。

这是我得到的错误:

> rake aborted! Please install the sqlite3 adapter: `gem install
> activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add
> it to Gemfile.)
> 
> Tasks: TOP => db:migrate => environment

这个特殊的 Ruby 有一个共同点,我在其他 stackoverflow 帖子中看到。而且似乎 sqlite3 应用程序必须与适配器的版本匹配。我们知道这是对这个宝石的虚假建议,因为它不存在。

我的问题是,我该如何解决这个问题,因为 sqlite3 需要为 PPC 设置?谢谢,

【问题讨论】:

    标签: ruby-on-rails-3 sqlite


    【解决方案1】:

    这可能是您的解决方案。 https://stackoverflow.com/a/8943110/153886

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 2011-12-28
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多