Ruby 如何让Nokogiri安装在Ubuntu 14.04 64位上

Ruby 如何让Nokogiri安装在Ubuntu 14.04 64位上,ruby,ubuntu,installation,nokogiri,Ruby,Ubuntu,Installation,Nokogiri,这就是我在Ubuntu 14.04 64位上安装Nokogiri时得到的结果 /usr/local/bin/ruby extconf.rb Building nokogiri using packaged libraries. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the

这就是我在Ubuntu 14.04 64位上安装Nokogiri时得到的结果

/usr/local/bin/ruby extconf.rb
Building nokogiri using packaged libraries.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/ruby
    --help
    --clean
    --use-system-libraries
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- openssl (LoadError)
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/local/lib/ruby/1.9.1/net/https.rb:92:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/mini_portile-0.6.0/lib/mini_portile.rb:3:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:33:in `require'
    from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from extconf.rb:364:in `<main>'
/usr/local/bin/ruby extconf.rb
使用打包库构建nokogiri。
***extconf.rb失败***
由于某些原因无法创建Makefile,可能是缺少
必要的库和/或标题。查看mkmf.log文件了解更多信息
细节。您可能需要配置选项。
提供的配置选项:
--使用opt dir
--不带opt dir
--选择包含
--不带opt include=${opt dir}/include
--使用opt lib
--不带opt lib=${opt dir}/lib
--用make prog
--没有make prog
--srcdir=。
--库尔迪尔
--ruby=/usr/local/bin/ruby
--帮助
--干净的
--使用系统库
:29:在'require'中:没有要加载的文件--openssl(LoadError)
from:29:in'require'
from/usr/local/lib/ruby/1.9.1/net/https.rb:92:in`'
from:29:in'require'
from:29:in'require'
from/usr/local/lib/ruby/gems/1.9.1/gems/mini_-portile-0.6.0/lib/mini_-portile.rb:3:in`'
from:33:在'require'中
发件人:33:“紧急救援”中的
from:29:in'require'
来自extconf.rb:364:in`'
我检查了mkmf.log文件,它说:

package configuration for libxml-2.0 is not found
package configuration for libxslt is not found
package configuration for libexslt is not found
"gcc -o conftest -I/usr/local/include/ruby-1.9.1/x86_64-linux -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I.     -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L.  -rdynamic -Wl,-export-dynamic     -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby-static  -lpthread -lrt -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */

"gcc -E -I/usr/local/include/ruby-1.9.1/x86_64-linux -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I.     -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline  conftest.c -o conftest.i"
conftest.c:3:31: fatal error: libxml/xmlversion.h: No such file or directory
 #include <libxml/xmlversion.h>
                               ^
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <libxml/xmlversion.h>
4: 
5: #if LIBXML_VERSION < 20621
6: #error libxml2 is too old
7: #endif
/* end */
未找到libxml-2.0的包配置 找不到libxslt的包配置 找不到libexslt的包配置 “gcc-o conftest-I/usr/local/include/ruby-1.9.1/x86_64-linux-I/usr/local/include/ruby-1.9.1/ruby/backward-I/usr/local/include/ruby-1.9.1-I.-O3-ggdb-Wextra-Wno未使用的参数-Wno括号-Wpointer arith-Wwrite字符串-Wno缺少字段初始值设定项-Wno long-DXP UNIX-O3-Wall-Wcast-qual-Wwrite字符串-Wconversion-Wmissing noreturn-Winline conftest.c-L-L-L/usr/local/lib-Wl-R/usr/local/lib-L-rdynamic-Wl-export dynamic-Wl-R-Wl,/usr/local/lib-lib-L/usr/local/lib-lruby static-lpthread-lrt-ldl-lcrypt-lm-lc” 检查的程序是: /*开始*/ 1:#包括“ruby.h” 2: 3:int main(){return 0;} /*结束*/ “gcc-E-I/usr/local/include/ruby-1.9.1/x86_64-linux-I/usr/local/include/ruby-1.9.1/ruby/backward-I/usr/local/include/ruby-1.9.1-I.-O3-ggdb-Wextra-Wno未使用的参数-Wno括号-Wpointer arith-Wwrite字符串-Wno缺少字段初始值设定项-Wno long-g-DXP UNIX-O3-Wall-Wcast qual-Wwrite字符串-Wconversion-Wmissing-noreturn-Winline conftest.c-o conftest.i“ conftest.c:3:31:致命错误:libxml/xmlversion.h:没有这样的文件或目录 #包括 ^ 编译终止。 检查的程序是: /*开始*/ 1:#包括“ruby.h” 2: 3:#包括 4: 5:#如果LIBXML_版本<20621 6:#错误libxml2太旧 7:#endif /*结束*/
在黑暗中拍摄,但这建议使用
--使用系统库
标志进行安装。例如:
gem install nokogiri--use system libraries
我已经尝试过了,但是一次又一次地得到了类似的结果基于Debian的系统上一个典型的新手问题是在需要
libfoo dev
作为开发头时尝试
apt get install libfoo
。基本库包仅包含运行时二进制文件。