Mac OS X Lion上的sqlite3 gem ...失败了!

时间:2011-07-22 18:55:43

标签: ruby ruby-on-rails-3 rubygems

我刚刚将Mac升级到Lion,但不幸的是我不得不重新设置我的Rails开发环境。使用以下版本的软件:

ruby​​ 1.8.7(2010-01-10 patchlevel 249)[universal-darwin11.0] Rails 3.0.9 sqlite3 3.7.5

当我运行命令时:     sudo gem install sqlite3

抛出以下异常:

ERROR:  Error installing sqlite3:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb mkmf.rb 

找不到ruby的头文件

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

它补充道:

Gem文件将保留在/Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3中以供检查。 结果记录到/Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out

有没有人潜入狮子......

由于

8 个答案:

答案 0 :(得分:6)

我遇到了这个问题。我从Apps商店下载了Xcode,但仍然没有用。我重新安装了Xcode 3.2,但仍然没有。然后我读了一篇帖子,说下载Xcode并安装它是不同的。我去了应用程序并运行了Xcode安装程序,之后一切正常。

答案 1 :(得分:6)

我也遇到了这个问题并且意识到安装XCode是不够的,安装完成后你需要进入XCode - >偏好 - >下载并安装命令行工具。这将安装GCC。

答案 2 :(得分:3)

我总是遇到OS X内置Ruby的问题。使用RVM。帮助Ruby开发人员管理他们的Ruby版本和库。绝对推荐。然后从那里安装你的宝石。

安装指南:http://beginrescueend.com/rvm/install/

编辑:您甚至不需要sudo,因为隐藏了您的主目录中的所有内容。

答案 3 :(得分:3)

安装Xcode并没有为我做到这一点。相反,我安装了Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

然后用Homebrew安装了sqlite:

brew install sqlite

然后终于跑了:

sudo bundle install

在我的Rails应用程序中,成功安装了Sqlite

答案 4 :(得分:2)

更新Xcode for Mac OS X Lion和sqlite3 gem安装没有任何问题...所以我想每当有人升级他们的Mac OS时,他们应该做的第一件事就是升级后更新Xcode ......

答案 5 :(得分:0)

如果要升级到Lion,我建议首先从Apple网站下载并安装新的Xcode(4.2)。我知道这是关于rails的,但我喜欢让Xcode搞砸了Iphone和Ipad应用程序(我认为它不是很擅长......)。

然后,您将要下载GCC安装程序:

github.com/kennethreitz/osx-gcc-installer/downloads。下载最新版本。

这有点替代Xcode,它会告诉您在安装完成后可以卸载Xcode。这取决于你:我之后没有卸载Xcode。

为了测试它是否产生了影响,我在终端中创建了一个rails new appname。捆绑工作正常,但没有。 gem install json -v'1.6.5'

出现问题

Fwiw我目前正在参加Hartl教程的第9章,并且今天开始使用rails 3.1,Snow Leopard OS X.

希望这有帮助!

答案 6 :(得分:0)

我刚升级到Maverick并且遇到了一些宝石问题。 转到Apple Developer Downloads并获取Xcode的命令行工具(OSX Mavericks)。 安装后,我能够捆绑sqlite3和pg gems。

答案 7 :(得分:0)

对于那些在小牛队中安装sqlite3 gem时仍有问题的人:

sudo xcode-select --reset

xcode-select 手册说,重置选项 Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism.

顺便说一句,在从Snow Leopard迁移到Mavericks时,我遇到了这种情况。我认为问题出在开发人员工具路径上,这在每个操作系统中都是不同的。