【问题标题】:Install Nokogiri without Apple's dev package (Xcode)在没有 Apple 开发包的情况下安装 Nokogiri (Xcode)
【发布时间】:2011-02-05 22:46:44
【问题描述】:

我正在尝试在未安装 Apple 开发包的计算机上安装 Nokogiri。

我需要能够在没有管理员权限的情况下在后台安装 nokogiri。 Due Nokogiri 是我希望能够安装在任何 OS X 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

经过一番搜索,我找到了this。

Apple 为框架提供标头 使用 Xcode 而不是操作系统。 因为我安装后升级了 Xcode 我必须重新安装 XCode 才能获得 Ruby 标头。 Xcode 在 安装 DVD,您可以在 可选安装目录。

【问题讨论】:

    标签: ruby macos gem nokogiri


    【解决方案1】:

    Nokogiri 依赖于 libxml2,这是一个标准的 XML 解析器。要访问 libxml2,它必须使用 C 库并链接一些接口代码以将 Nokogiri 的 Ruby 接口粘合到 libxml2 的 C 中,而这正是 Apple XCode 的用武之地。

    XCode 提供了所需的编译器、链接器、头文件、make……换句话说,就是让它工作所需的一切。

    现在,理论上,可以在一台装有 XCode 的 Mac 上构建 Nokogiri,然后将生成的 gem 复制到另一台 Mac,只要它们具有相同的一切,例如 Ruby 版本和 libxml2 版本。这不是我们在 Mac 或基于 Unix 的系统上做事的常用方式,所以你大胆地去我们大多数人不需要去的地方,包括我在内,所以你可能想问你的问题Nokogiri-Talk mail list,开发人员可以在这里为您提供帮助。他们会确切地知道需要复制哪些部分,以及应该将它们安装在哪里才能让事情按您的意愿工作。

    关于 XCode 的注意事项:Snow Leopard 随附的 DVD 版本存在错误,因此不应使用它。相反,从Apple's XCode Developer site 下载版本。它需要登录,但注册是免费的。

    不需要任何编译或 XCode 的替代方法是使用 Ruby 的 ReXML XML 解析器。它默认包含在 Ruby 中。它不支持所有 Nokogiri 好东西,但它已经存在了。

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 2011-04-20
      • 1970-01-01
      • 2015-01-04
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多