我试图在一台没有安装苹果开发包的电脑上安装Nokogiri。
我需要能够安装nokogiri在后台没有管理权限。由于Nokogiri是脚本的一部分,我希望能够安装在任何OS 10.5+机器上。
我试过运行这个。
gem install nokogiri
还有这个。
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
/usr/bin aren't both writable.
WARNING: You don't have /Users/linus/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/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/linus/.gem/ruby/1.8/gems/nokogiri-1.4.4 for inspection.
Results logged to /Users/linus/.gem/ruby/1.8/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out经过一番搜索,我找到了这。
苹果在Xcode中为框架提供了标题,而不是在操作系统中。因为我在安装Xcode之后进行了升级,所以我不得不重新安装XCode以获得Ruby。Xcode附带了安装DVD,您可以在可选安装目录中找到它。
发布于 2011-02-05 23:56:23
Nokogiri依赖于libxml2,这是一个标准的XML解析器。要访问libxml2,它必须使用C库并链接一些接口代码,将Nokogiri的Ruby接口与libxml2 2的C连接起来,这正是苹果的XCode出现的地方。
XCode提供所需的编译器、链接器、头文件、.换句话说,一切都需要让它发挥作用。
现在,从理论上讲,可以在一个有XCode的Mac上构建Nokogiri,然后将生成的gem复制到另一个Mac上,只要它们的其他内容都相同,比如Ruby和libxml2版本。这不是我们在Mac上或基于Unix的系统上做事情的通常方式,所以你大胆地去我们大多数人都不需要去的地方,包括我,所以你可能想在Nokogiri-Talk邮件列表上问你的问题,开发者可以在哪里帮助你。他们将确切地知道需要复制哪些部件,以及应该在哪里安装这些部件,以便按您的要求工作。
关于XCode的一个注意事项:随雪豹一起发布的DVD版本是有缺陷的,所以不应该使用它。相反,请从苹果XCode开发者网站下载该版本。它需要登录,但注册是免费的。
另一种不需要任何编译或XCode的方法是使用Ruby解析器。默认情况下,它包含在Ruby中。它不支持所有的Nokogiri美食,但它已经存在了。
https://stackoverflow.com/questions/4910195
复制相似问题