使用红宝石
我是全新的红宝石。我写了一个小脚本,并在顶部我有以下几点:使用红宝石
require 'rubygems'
require 'net/http'
require 'json'
require 'curb'
但是当我尝试运行该脚本,我得到以下几点:
C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot loa
d such file -- curb (LoadError)
from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require
'
from rImDrop.rb:4:in `<main>'
的一切,我发现迄今为止表明require 'rubygems'
将解决这个问题,但显然不在我的情况。下一个猜测是我的宝石安装不正确?
编辑:我要指出的是,我在Windows 7上......
当我运行gem install curb
我得到:
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing curb:
ERROR: Failed to build gem native extension.
C:/Ruby193/bin/ruby.exe extconf.rb
checking for curl-config... no
checking for main() in -lcurl... no
*** 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=C:/Ruby193/bin/ruby
--with-curl-dir
--without-curl-dir
--with-curl-include
--without-curl-include=${curl-dir}/include
--with-curl-lib
--without-curl-lib=${curl-dir}/lib
--with-curllib
--without-curllib
extconf.rb:23:in `<main>': Can't find libcurl or curl/curl.h (RuntimeError)
Try passing --with-curl-dir or --with-curl-lib and --with-curl-include
options to extconf.
Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/curb-0.8.
0 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/curb-0.8.0/ext/gem_make.ou
t
你有没有通过“创业板安装路边安装了宝石“在壳?前两个Net :: HTTP和JSON是Ruby 1.9标准库的一部分,因此它们根本不使用RubyGems。
你可以尝试
gem list
你得到安装gem的列表。如果路边缺失,则不安装。
然后你可以使用(如果你是在线):
gem install curb
安装它。该宝石将从网上加载和安装(如果存在依赖关系,则会询问您是否应安装它们)。
答案就在这两条线:
checking for curl-config... no
checking for main() in -lcurl... no
这意味着系统搜索的curl库,但没有发现它。
您需要curl库及其开发文件(源代码)才能编译gem。
我得到在Ubuntu相同的错误和
创业板安装路边
也没有工作。这虽然工作:
命令和apt-get安装libcurl3-dev的
对于任何愿意知道为什么,这是因为限制需要libcurl头文件和库编译宝石。 – JCM 2015-01-22 14:45:20
在Ruby中的一些库不是纯Ruby实现,并且依赖于系统的可执行文件和二进制文件。路边就是这样。
在您的系统上安装卷曲
例如, in redhat
yum install curl-devel
a)Ruby gems内置于Ruby 1中。9,所以你不需要'require'rubygems''行; b)虽然你可能希望rubygems自动下载并安装脚本所需的宝石,但它不会。在运行脚本之前,您需要先从命令行运行'gem install curb'。 – Phrogz 2012-02-16 23:06:25
感谢迄今的答复。我试着运行gem install curb,但是在我上面的编辑中出现了错误。 – hodgesmr 2012-02-16 23:14:42
也许这是你的新问题,然后:[如何在Windows上安装限制](http://stackoverflow.com/questions/1511865/install-ruby-curb-gem-in-windows-xp)。 – Phrogz 2012-02-16 23:30:01