【发布时间】: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 设置?谢谢,
【问题讨论】: