我更新了Lion的开发者版本,发现我无法启动rails应用程序。每当我尝试sudo bundle install
时,我都会收到以下错误:
Installing nokogiri (1.4.4) with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:551:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Users/jamielawrence/Documents/Websites/atgdb/vendor/bundle/ruby/1.8/gems/nokogiri-1.4.4 for inspection.
Results logged to /Users/jamielawrence/Documents/Websites/atgdb/vendor/bundle/ruby/1.8/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out
from /Library/Ruby/Site/1.8/rubygems/installer.rb:504:in `each'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:504:in `build_extensions'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:180:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/source.rb:101:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb:78:in `preserve_paths'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/source.rb:91:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/installer.rb:58:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb:93:in `with_build_args'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/installer.rb:57:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/installer.rb:49:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/installer.rb:8:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/cli.rb:222:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/vendor/thor/task.rb:22:in `send'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/vendor/thor/task.rb:22:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/vendor/thor.rb:246:in `dispatch'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/vendor/thor/base.rb:389:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.15/bin/bundle:13
from /usr/bin/bundle:19:in `load'
from /usr/bin/bundle:19
答案 0 :(得分:15)
尝试安装“libxslt1-dev”和“libxml2-dev”软件包。
答案 1 :(得分:10)
全部感谢 - 当我更新到Lion时,我需要安装x代码4.1才能在后台获取正确的文件,以便捆绑程序安装所有正确的软件包。现在一切都很好吃了!
答案 2 :(得分:3)
安装ruby1.8-dev gem(或更确切地说,适用的* -dev gem),它将包含所有头文件。看到: This question
答案 3 :(得分:2)
我发现这可以通过https://github.com/sparklemotion/nokogiri/issues/1166#issuecomment-56545974完成。
$ brew install libxml2
$ gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/
如果这不起作用,这是一个更详细的方法。 http://www.bullrico.com/2012/07/12/installing-nokogiri-after-updating-homebrew
答案 4 :(得分:1)
它说:“无法找到ruby的头文件”。换句话说,你错过了ruby头文件,以便将libxml / nokogiri编译为ruby扩展。
考虑使用macports或rvm安装ruby 1.9(或1.8)。我不是100%在第二个,但第一个将自动使相关的标题可用。
答案 5 :(得分:1)
考虑安装1.6版之前的nokigiri(gem install nokogiri -v '1.5.9'
)
答案 6 :(得分:0)
我有类似的问题,在安装XCode 4.1后,我还必须执行以下命令:
sudo port upgrade libxml2 libxslt
之后Nokogiri没有问题。
更多信息:http://tektastic.com/2011/07/ruby-mac-ports-and-os-x-lion.html
答案 7 :(得分:0)
我尝试了许多不同的解决方案,但最终对我有用的只是使用不同版本的1.9.2。
我遇到了与 1.9.2-p280 相同的问题,但当我切换到 1.9.2-p180 时,我能够安装出现问题。不能告诉你为什么会这样,但确实如此。
我正在运行 Lion和RVM(1.8.6)。