1
C:\sites\loltilt2>gem install curb -v '0.8.5'
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.
5 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/curb-0.8.5/ext/gem_make.ou
t

我该如何解决这个路边问题?我已经尝试了几个小时,但 gem 无法安装。我已经尝试安装不同版本的遏制...仍然没有安装。我还尝试将 2 个 .dll 文件放入我的 windows 文件夹中......仍然没有安装。我该怎么办?

4

2 回答 2

3

视窗

安装一个没有“本机扩展”的 gem 更多的是关于gem& 它的依赖关系,而不是关于Windows.

你提到你已经“将.dll文件放在 Windows 文件夹中” - 这不会解决问题,因为它仍然没有提供gem它需要的东西 - 库/“头”文件。与mysql2or imagemagickgems 一样,您需要在系统上安装一个“软件”版本,然后 gem 将能够在安装时引用它

尽管我之前在 Windows 7 上安装了curbgem,但最近的系统升级将其删除(因此我没有任何第一手资料可供您参考)。但是,我可以告诉你,如果你使用这样的教程是可能的

--

libCURL

libCURL最重要的是,在尝试安装 gem 之前,您需要在 PC 上安装和引用该库。这是最棘手的部分 - 您需要找到包含所有正确文件等的 libCURL 版本

您需要 libCURL 的 MingW32 二进制版本 (curl-7.xx.0-devel-mingw32)

当您下载和解压缩二进制文件时,您应该拥有库的/include/bin目录(这就是您知道您是否拥有正确版本的方式):

在此处输入图像描述

完成后,将其解压缩到系统上的文件夹中:

在此处输入图像描述

--

宝石

这将使您能够在安装 gem 时引用它包含的库​​文件:

gem install curb --version 0.7.18 --platform=ruby -- -- --with-curl-lib="C:/path/to/your/curl-7.xx.0-devel-mingw32/bin" --with-curl-include="C:/path/to/your/curl-7.xx.0-devel-mingw32/include"
于 2014-08-12T07:53:40.130 回答
0

正如 Rich 在评论中所说,libcurl 是遏制所必需的。您可以在此处将其作为 zip 文件下载,然后将其解压缩到您想要的任何位置。如果遇到问题,请阅读文档

于 2014-08-12T07:49:49.133 回答