4

我有以下配置:

  • uname -a : Linux 2.6.24.2 i686 GNU/Linux (Ubuntu)
  • ruby -v : ruby​​ 1.9.0 (2007-12-25 修订版 14709) [i486-linux]
  • rails -v: Rails 3.0.0.beta3
  • 宝石-v:1.3.5
  • rake --version : rake,版本 0.8.7
  • make -v : GNU Make 3.81
  • 宝石环境:
    • 红宝石版本:1.3.5
    • 红宝石版本:1.9.0(2007-12-25 补丁级别 0)[i486-linux]
    • 安装目录:/usr/lib/ruby1.9/gems/1.9.0
    • 红宝石可执行文件:/usr/bin/ruby1.9
    • 可执行目录:/usr/bin
    • 红宝石平台:
    • 红宝石
    • x86-linux
    • 宝石路径:
      • /usr/lib/ruby1.9/gems/1.9.0
      • /root/.gem/ruby/1.9.0
    • 宝石配置:
      • :update_sources => 真
      • :详细 => 真
      • :基准 => 假
      • :回溯 => 假
      • :bulk_threshold => 1000
    • 远程资源:

当我尝试这个简单的命令时:

gem install nokogiri

这是我得到的:

# gem 安装 nokogiri
构建原生扩展。这可能需要一段时间...
错误:安装 nokogiri 时出错:
        错误:无法构建 gem 原生扩展。

/usr/bin/ruby1.9 extconf.rb
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/include/libxml2、/usr/local 中的 iconv.h /include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2...是的
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/include/libxml2、/usr 中的 libxml/parser.h /local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2...是的
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/include/libxml2、/usr 中的 libxslt/xslt.h /local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2...是的
检查 /opt/local/include/、/opt/local/include/libxml2、/opt/local/include、/opt/local/include、/opt/local/include/libxml2、/usr 中的 libexslt/exslt.h /local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2...是的
检查 -lxml2 中的 xmlParseDoc()... 是
检查 -lxslt 中的 xsltParseStylesheetDoc()... 是
检查 -lexslt 中的 exsltFuncRegister()... 是
检查 xmlRelaxNGSetParserStructuredErrors()... 是
检查 xmlRelaxNGSetParserStructuredErrors()... 是
检查 xmlRelaxNGSetValidStructuredErrors()... 是
检查 xmlSchemaSetValidStructuredErrors()... 是
检查 xmlSchemaSetParserStructuredErrors()... 是
创建 Makefile

制作
抄送-I。-I/usr/include/libxml2 -I/usr/include -I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/ -I/opt/local/include/libxml2 -I/opt/local/include -D_FILE_OFFSET_BITSf=fPIC g -fPIC -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -o xml_document_fragment.o -c xml_document_fragment.c
在从 ./nokogiri.h:75 开始的包含文件中,
          从 ./xml_document_fragment.h:4,
          从 xml_document_fragment.c:1:
./xml_document.h:5:16: 错误: st.h: 没有此类型的文件或文件夹
制作:*** [xml_document_fragment.o] 错误 1


Gem 文件将继续安装在 /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1 中以供检查。
结果记录到 /usr/lib/ruby1.9/gems/1.9.0/gems/nokogiri-1.4.1/ext/nokogiri/gem_make.out

“gem_make.out”文件包含与上述完全相同的信息。

如果我尝试使用其他宝石:

gem install gherkin

这是我得到的:

u# gem install gherkin
构建原生扩展。这可能需要一段时间...
错误:安装小黄瓜时出错:
        错误:无法构建 gem 原生扩展。

/usr/bin/ruby1.9 extconf.rb
检查 -lc 中的 main()... 是
创建 Makefile

制作
抄送-I。-I/usr/include/ruby-1.9.0/i486-linux -I/usr/include/ruby-1.9.0 -I. -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -fPIC -o gherkin_lexer_ar.o -c gherkin_lexer_ar.c
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:11:16: erreur: re.h : Aucun fichier ou dossier de ce type
制作:*** [gherkin_lexer_ar.o] Erreur 1


Gem 文件将继续安装在 /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30 中以供检查。
结果记录到 /usr/lib/ruby1.9/gems/1.9.0/gems/gherkin-1.0.30/ext/gherkin_lexer_ar/gem_make.out

事实上,每当我尝试安装带有本机扩展的 gem 时,都会遇到相同类型的错误。

这会给任何人敲响警钟吗?

4

2 回答 2

1

Nokogiri 的第 116 期似乎说明了一切:

不支持 Ruby 1.9.0。您应该升级到 1.9.1-p129 甚至 1.9.2。1.9.0 太破,无法支持。:-(

我现在可能想更新这个红宝石小东西......

于 2010-05-28T15:37:58.797 回答
0

对于nokogiri,您可以在这里尝试

对于其他 gem,您可以在此处查看 ruby​​ 1.9 兼容性问题

于 2010-05-20T11:14:31.187 回答