代码之家  ›  专栏  ›  技术社区  ›  Lee McAlilly

运行“rails server”时找不到sqlite3符号

  •  1
  • Lee McAlilly  · 技术社区  · 14 年前

    我不能再启动服务器了。不知道发生了什么,但是当我运行“rails s”时,我得到了这个错误:

    Core:pocketbook lee$ rails s
    dyld: lazy symbol binding failed: Symbol not found: _sqlite3_initialize
      Referenced from: /Users/lee/Dropbox/Apps/pocketbook/ruby/1.9.1/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle
      Expected in: flat namespace
    
    dyld: Symbol not found: _sqlite3_initialize
      Referenced from: /Users/lee/Dropbox/Apps/pocketbook/ruby/1.9.1/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle
      Expected in: flat namespace
    

    不知道我能做什么来引起这个问题。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Brandt Lareau    13 年前

    我已经看到这个问题出现了好几次,其中一个原因可能是发生这种情况的原因是DewTotheversionofSqlite3是错误的版本。有时,您可以安装sqlite3 ruby gem,但与运行的sqlite版本不兼容。

    确保sqlite3版本高于3.6.16

    只需运行sqlite3-version,您就会知道了。简单的解决方案就是更新sqlite。

    当我决定删除mac端口的任何跟踪并切换到 brew

        2
  •  3
  •   Lee McAlilly    14 年前

    好吧,看来最新版本的sqlite3不能很好地与OS X Leopard配合使用。所以,我必须指定要在gemfile中使用的sqlite3版本。我加了一句:
    gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

    告诉其他有这些问题的人。

        3
  •  0
  •   d1jhoni1b    11 年前

    pwd ,检查您是否处于正确的级别(路径)…听起来很愚蠢,但我只花了一个小时试图解决这个问题,唯一改变的是路径(掌纹),一切都很好