代码之家  ›  专栏  ›  技术社区  ›  scaney

rvm 1.9.1和nokogiri

  •  7
  • scaney  · 技术社区  · 14 年前

    在rvm ruby 1.9.1下安装nokogiri gem时遇到问题。

    gem install nokogiri
    

    我要…

    /usr/include/libxml2... no
    libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2-devel'
    *** extconf.rb failed ***
    

    但我查过了:

    sudo apt-get install libxml2
    

    我得到了:

    Reading state information... Done
    libxml2 is already the newest version.
    

    这可能是根的问题吗?rvm在用户空间中运行所有内容。

    3 回复  |  直到 13 年前
        1
  •  3
  •   the Tin Man    14 年前

    您可能需要确认apt安装的libxml版本是最新的。nokogiri喜欢libxml的新版本,所以我从源代码构建了libxml安装。

    Nokogiri-V会告诉你你在用什么。

        2
  •  10
  •   dwaynemac    13 年前

    一个更简单的解决方案:

    sudo apt-get install libxslt-dev libxml2-dev
    
        3
  •  2
  •   Aneil Mallavarapu    13 年前

    我在Mac上使用自制程序时遇到了类似的问题。

    这是实现这一技巧的代码,是nokogiri自制安装说明的一个小扩展。基本上,您需要包含一个指令,告诉nokogiri使用自制libxml目录。请确保指向由Homebrew安装的正确版本的libxml2,对我来说是2.7.8:

    brew install libxml2
    
    brew link libxml2 #this may be enough but didn't work for me with rvm
    
    #explicitly tell nokogiri to use you homebrew libxml2 rather than system
    gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26
    
    推荐文章