【问题标题】:Sqlite3 error after Rails 3 (beta 4) installRails 3(beta 4)安装后出现 Sqlite3 错误
【发布时间】:2010-06-12 03:31:45
【问题描述】:

安装 Rails 3 后,当我尝试进行迁移时收到以下有关 Sqlite3 的错误:

dlsym(0x1037e5f10, Init_sqlite3_native): 未找到符号 - /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.0/lib/sqlite3/sqlite3_native.bundle

我正在使用 Snow Leopard,如果这有影响的话。

【问题讨论】:

  • 我在默认的 Rails 项目上尝试运行 rails server 时遇到了同样的问题。
  • 很高兴知道您正在使用的 ruby​​ 和 ruby​​gems 的确切版本。

标签: sqlite ruby-on-rails-plugins ruby-on-rails-3


【解决方案1】:

我遇到了同样的问题。问题是你的 sqlite-ruby 接口没有正确安装在你的雪豹中。要安装它,请使用以下命令:-

sudo gem install sqlite3-ruby

但在安装之前,请检查您的 Mac 中是否安装了正确的 gcc。请使用以下几行检查:-
好的首先检查是否安装了以下内容:-

$gcc -v     

如果没有,那么你必须先在你的雪豹中安装 Mac 开发者的 xcode 包。
您可以从本网站免费注册下载:- http://developer.apple.com/devcenter/mac

更多参考请查看我的帖子:How to install ruby interface for sqlite3 in Mac snow leopard?

如果您在尝试这些方法后仍遇到问题,请告诉我您面临的错误。因为我在让我的雪豹工作之前遇到了所有的错误;)。所以我对我们通常犯的大多数错误和失误都很熟悉;)!!

【讨论】:

    【解决方案2】:

    嗯,看起来可能有些东西没有正确编译。也许 gem 是在旧系统上编译的或预升级到雪豹?可能是 sqlite 二进制文件是 64 位的,但原生 ruby​​ 扩展不是。

    我会试试这个:

    • 安装RVM(或者如果您已经在使用它,请创建一个新的gemset。)
    • 使用新的 rvm gemset,重新安装 rails 3
    • bundle install 加载所有宝石

    如果问题消失,那么很可能您的库并非都以相同的方式编译。从以前版本的 Mac OS X 升级到雪豹时可能会发生这种情况。升级会更新 sqlite 二进制文件,但不会更新您自己编译的任何 gem,例如用于 ruby​​ 的 sqlite 绑定。

    【讨论】:

    • 我以前也遇到过类似的奇怪问题,我同意马克的观点。您可以选择 rvm 路线,也可以卸载所有 gem 和 ruby​​gems,然后从头开始(这就是我最终要做的)。
    【解决方案3】:

    我不确定 Snow Leopard 是如何完成的,但您需要安装 sqlite 开发包 libsqlite3-dev

    然后安装gem,sqlite3-ruby

    【讨论】:

      【解决方案4】:

      刚刚进入您项目中的 GEMFILE 并注释掉您不需要的 gem。

      【讨论】:

        猜你喜欢
        • 2013-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-19
        • 2013-05-11
        • 2021-03-15
        • 2014-03-25
        相关资源
        最近更新 更多