安装Sqlite3 for Ruby(Mac OSX 10.5.8)

时间:2011-10-09 03:19:24

标签: ruby macos homebrew sqlite3-ruby

我正在遵循本指南ATM - http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding

在尝试创建数据库时,我得到了:

Morgans-Computer:博客Morgan $ rake db:create 无法在Gemfile中列出的任何gem源中找到gem'sqlite3(> = 0)'。 运行bundle install以安装缺少的宝石。

当我尝试运行'bundle install'时,我收到更多错误:

使用本机扩展安装sqlite3(1.3.4)/Users/Morgan/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `build_extensions中的块中的救援':错误:无法构建gem原生扩展。 (GEM ::安装:: ExtensionBuildError)

    /Users/Morgan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 

我曾尝试安装Ruby Gem Sqlite3(http://rubygems.org/gems/sqlite3-ruby)但它仍然失败。我在这里发现另一篇文章说我需要安装C,因为这是编译器编写的内容?不确定那是什么意思,或者我是怎么做的。

非常感谢任何帮助!!

3 个答案:

答案 0 :(得分:4)

如果您还没有安装homebrew,我会先设置它。它是一个很好的包管理器,允许您使用brew install sqlite安装像sqlite这样的东西。

要安装brew,您需要安装xcode。如果您还没有,那么您可能需要随系统附带的CD,或者您可以从apple's website下载。在最新的操作系统上,您可以从App Store安装它,这很好(这也可能对您有用)。

如果您有mysql并且更愿意使用它并且回避sqlite问题,您可以生成rails项目。

rails new my_new_project -d mysql

答案 1 :(得分:1)

安装sqlite适配器gem时,必须编译代码。要编译代码,需要访问sqlite开发库。

Rails on Mac OS X tutorial解释了如何做到这一点。这是最直接相关的部分:

   sudo chown -R `whoami` /usr/local #make sure we have correct permissions to install sqlite
   brew install sqlite
   gem install sqlite3

答案 2 :(得分:0)

在Mac上,您可能希望安装Xcode。您还可能需要sqlite3的其他一些软件包,您应该能够通过MacPorts(端口:sqlite3 + rb19-sqlite3)。

如果您已安装Xcode,请转到MacPorts Install page,下载并安装提供的.dmg。然后你应该能够从控制台运行它来安装必要的包:

sudo port install sqlite3 rb19-sqlite3

您也可以像其他人所建议的那样使用Homebrew