Ruby on rails 雪豹升级->;重新安装sqlite3 ruby gem时出现问题
我得到了Ruby1.8.7(本地编译)、Rails2.3.4、OSX10.6.2和SQLite3Ruby 访问rails应用程序时出现的错误是 NameError:未初始化的常量SQLite3::Driver::Native::Driver::API 历史:Ruby on rails 雪豹升级->;重新安装sqlite3 ruby gem时出现问题,ruby-on-rails,osx-snow-leopard,sqlite3-ruby,Ruby On Rails,Osx Snow Leopard,Sqlite3 Ruby,我得到了Ruby1.8.7(本地编译)、Rails2.3.4、OSX10.6.2和SQLite3Ruby 访问rails应用程序时出现的错误是 NameError:未初始化的常量SQLite3::Driver::Native::Driver::API 历史: 通过使用FW电缆将我的应用程序从旧macbook迁移到新macbook,我升级到了snow leopard。所有的一切都完美地运行了几个月,但昨天我需要安装watir,它依赖于rb-appscript,由于libsqlite3.dylib中
通过使用FW电缆将我的应用程序从旧macbook迁移到新macbook,我升级到了snow leopard。所有的一切都完美地运行了几个月,但昨天我需要安装watir,它依赖于rb-appscript,由于libsqlite3.dylib中的“错误架构”错误,它没有生成。我认为构建是在旧机器上完成的,所以我想重建sqlite3 ruby: $sudo gem卸载sqlite3 ruby $sudo gem安装sqlite3 ruby 构建本机扩展。这可能需要一段时间…
错误:安装sqlite3 ruby时出错:
错误:无法生成gem本机扩展 /usr/local/bin/ruby extconf.rb
正在-lrt中检查fdatasync()。。。否
正在检查sqlite3.h。。。是
正在-lsqlite3中检查sqlite3_open()。。。否
*extconf.rb失败*
由于某些原因无法创建Makefile,可能是缺少
必要的库和/或标题。查看mkmf.log文件了解更多信息
细节。您可能需要配置选项 sqlite3库似乎工作不正常。我尝试安装macports sqlite3(sudo port install sqlite3)并使用它,但结果相同。。。所以我从头开始重建sqlite3。。下载->配置->制作->制作安装。在此之后,gem现在构建得非常完美,但在rails中不起作用,本文顶部给出了错误 我真的不确定从这里走到哪里,因为我已经尝试了以下方法
来自/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active\u support/dependencies.rb:105:in
const\u missing'
从/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/driver/native/driver.rb:76:in
open'来自/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:76:在“初始化”中 顺便说一句,我已经从雪豹CD安装了Xcode
我能做些什么来解决这个问题?我在唐·帕克的博客上找到了一些关于这个问题的指导: 他的解决方案指向以下线程的堆栈溢出:
关于ln命令的答案似乎解决了我的问题。希望它也能帮助你。我在唐·帕克的博客上找到了一些关于这方面的指导: 他的解决方案指向以下线程的堆栈溢出:
关于ln命令的答案似乎解决了我的问题。希望它也能帮助您。如果gem没有构建,那不是因为您需要从源代码重新构建sqlite3,而是为了构建gem,您需要sqlite3开发人员库 在大多数Linux/Unix系统上,您可以通过执行“sudo apt get install sqlite3 dev”来安装它们,但是我不确定它如何与Macports配合使用,但请确保您拥有该软件包。在安装gem时,您必须确保它们位于您的路径中,或者传递它们所在的目录(请参阅gem的输出,以获取有关执行此操作的选项的提示)
我的Mac上运行的sqlite3很好,都是1.8.7版本,现在更新的是1.9.1 Ruby。您可能还需要确保安装了XCode开发人员工具。如果gem没有生成,那不是因为您需要从源代码重新生成sqlite3,而是为了生成gem,您需要sqlite3开发人员库 在大多数Linux/Unix系统上,您可以通过执行“sudo apt get install sqlite3 dev”来安装它们,但是我不确定它如何与Macports配合使用,但请确保您拥有该软件包。在安装gem时,您必须确保它们位于您的路径中,或者传递它们所在的目录(请参阅gem的输出,以获取有关执行此操作的选项的提示)
我的Mac上运行的sqlite3很好,都是1.8.7版本,现在更新的是1.9.1 Ruby。您可能还需要确保安装了XCode开发人员工具。谢谢您的回答。以下是我为解决问题所做的:
终于一切又开始了 谢谢你的回答。以下是我为解决问题所做的:
sudo port install rb-sqlite3 +universal
checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... no
sqlite3 is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.1 for inspection.
asplode('sqlite3') unless find_library 'sqlite3', 'sqlite3_libversion_number'
require 'mkmf'
find_library 'sqlite3', 'sqlite3_libversion_number'
sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr'])
require 'mkmf'
sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr'])
find_library 'sqlite3', 'sqlite3_libversion_number'
sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr'])
sudo ruby ./setup.rb