我刚刚将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
有没有人潜入狮子......
由于
答案 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时,我遇到了这种情况。我认为问题出在开发人员工具路径上,这在每个操作系统中都是不同的。