我无法再启动服务器了。不知道发生了什么,但是当我运行“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
这很奇怪,因为我正在使用ruby 1.9.2和rvm。当我运行“哪个红宝石”时,它会重新运行“.rvm / rubies / ruby-1.9.2-head / bin / ruby”
不确定我能做些什么来解决这个问题。
答案 0 :(得分:3)
好的,似乎最新版本的sqlite3与OS X Leopard不兼容。所以,我必须在我的gemfile中指定要使用的sqlite3版本。我添加了这一行:
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
对于有这些问题的其他人来说。
答案 1 :(得分:1)
我已经看到这个问题出现了几次之所以可能导致这种情况发生的原因是sqlite3的版本是错误的版本。有时您可以安装sqlite3-ruby gem,但不能与您运行的sqlite版本兼容。
确保您的sqlite3版本高于3.6.16
要检查只运行sqlite3 -version,你就会知道。简单的解决方案就是更新sqlite。
当我决定删除任何mac端口痕迹并切换到brew
时,我发生了此错误答案 2 :(得分:0)
您也可以检查您的位置pwd
,检查您是否处于正确的水平(路径)...听起来很愚蠢,但我只花了一个小时试图解决这个问题,唯一改变的是路径(掌上)一切都很好