相关疑难解决方法(0)

Snow Leopard和Ruby on Rails - SQLite3问题

我刚升级到雪豹.之前,我把一切都运行得很好,但现在当我从终端启动服务器时,我得到:

=> Booting WEBrick
=> Rails 2.3.3 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-08-28 23:18:19] INFO  WEBrick 1.3.1
[2009-08-28 23:18:19] INFO  ruby 1.8.7 (2008-08-11) [universal-darwin10.0]
[2009-08-28 23:18:19] INFO  WEBrick::HTTPServer#start: pid=845 port=3000
Run Code Online (Sandbox Code Playgroud)

然后当我开始生成页面时,似乎它不能与sqlite3一起使用.我该如何解决?这是当我进入脚本化视图页面时服务器打印出来的内容:

/!\ FAILSAFE /!\  Fri Aug 28 23:18:34 -0400 2009
  Status: 500 Internal Server Error
  uninitialized constant SQLite3::Driver::Native::Driver::API
    /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/active_support/dependencies.rb:105:in `const_missing'
    /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/driver/native/driver.rb:76:in `open'
    /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:76:in `initialize'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:13:in `new'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:13:in `sqlite3_connection'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `checkout'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `checkout' …
Run Code Online (Sandbox Code Playgroud)

macos ruby-on-rails

4
推荐指数
1
解决办法
1万
查看次数

雪豹升级 - >重新安装sqlite3-ruby gem问题

我得到了ruby 1.8.7(本机编译),rails 2.3.4,OSX 10.6.2以及sqlite3-ruby.

我访问rails应用程序时遇到的错误是

NameError:未初始化的常量SQLite3 :: Driver :: Native :: Driver :: API

历史:
我通过使用FW-cable从我的旧macbook迁移我的应用程序升级到雪豹.一切都运行了好几个月,但昨天我需要安装watir,这取决于rb-appscript,由于libsqlite3.dylib中的"错误的架构"错误而无法构建.我认为构建是在旧机器上进行的,所以我想重建sqlite3-ruby:

$ sudo gem uninstall sqlite3-ruby

$ sudo gem install sqlite3-ruby

构建原生扩展.这可能需要一段时间...
错误:安装sqlite3-ruby时
出错:错误:无法构建gem本机扩展.

/ usr/local/bin/ruby​​ extconf.rb在-lrt中
检查fdatasync()...没有
检查sqlite3.h ...是
在-lsqlite3中检查sqlite3_open()... no
*extconf.rb失败*
由于某些原因无法创建Makefile,可能缺少
必要的库和/或标头.检查mkmf.log文件以获取更多
详细信息.您可能需要配置选项.

似乎sqlite3库不能正常工作.我已经尝试安装macports sqlite3(sudo port install sqlite3)并使用它,但结果相同...所以我从头开始重建sqlite3 .. download-> configure-> make-> make install.之后,gem现在构建完美,但在rails中不起作用,在本文的顶部给出了错误.

我不确定从哪里开始,因为我尝试了以下内容

  1. 从最新源重建sqlite3(http://www.sqlite.org/download.html)
  2. 重新安装sqlite3-ruby(sudo gem uninstall sqlite3-ruby && sudo gem install sqlite3-ruby)
  3. 使用来自macports的sqlite3(sudo port install sqlite3 && sudo gem install sqlite3-ruby)
  4. 重新安装rails(sudo gem install rails sqlite3-ruby)并将environment.rb更新到rails …

ruby-on-rails osx-snow-leopard sqlite3-ruby

1
推荐指数
1
解决办法
5981
查看次数