2011-10-09 72 views
3

我下面这个指南ATM安装SQLITE3 - http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding对Ruby(的Mac OSX 10.5.8)

当试图创建一个数据库,我得到:

摩根的计算机:博客摩根$耙分贝:创建 在您的Gemfile中列出的任何gem源中找不到gem'sqlite3(> = 0)'。 运行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 in block in build_extensions':错误:无法构建gem本机扩展。 (宝石::安装:: ExtensionBuildError)

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

我试图安装红宝石宝石SQLITE3(http://rubygems.org/gems/sqlite3-ruby),但它仍然失败。我在这里发现另一篇文章,说我需要安装C,因为这是编译器编写的内容。我不确定这到底是什么意思,或者我怎么去做。

任何帮助将不胜感激!

回答

0

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

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

sudo port install sqlite3 rb19-sqlite3 

您还可以使用Homebrew,如其他人所说。

+0

是的,我安装了Xcode。我如何安装其他软件包? –

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 
+0

我已经安装了自制软件。是的,我已经看到了ubntu的帖子,但这似乎不适用于mac? –

+0

当然,这不适用于OSX,它不使用apt作为包管理器。 – ryantm

+0

是啊,一旦我酿造安装sqlite,我从它那里得到它。再次感谢您的帮助,我留下的头发将留在我的头上...... –

4

如果你不已经安装homebrew,我会设置了第一。这是一个很好的包管理器,可以让你像brew install sqlite一样安装sqlite等东西。

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

如果你有mysql并且宁愿使用它并且避开sqlite问题,你可以生成你的rails项目。

rails new my_new_project -d mysql 
+0

omg ...我一直在寻找这个答案几个小时。谢谢!将测试出来,让你知道(我已经安装了自制软件)....更新:工作!谢谢 –