Ruby gem curb 不会安装在 Windows 7 上,即使我使用 libcurl

标签 ruby gem libcurl vagrant curb

我正在尝试使用 libcurl 在 Windows 7 上安装 curb gem,但它返回错误。这是为了使用 vagrant 在 vm 上运行 ruby​​ 应用程序的最终目的,在这里解释 github catarse install .但它返回一条错误消息:

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:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe: invalid option -V  (-h will show valid
 options) (RuntimeError)

这些是我用过的版本:

C:\>ruby -v
ruby 1.9.3p392 (2013-02-22) [i386-mingw32]

C:\>gem -v
2.0.3

C:\>vagrant -v
Vagrant version 1.2.2

所以我尝试使用 http://beginrescue.blogspot.com.au/2010/07/installing-curb-with-ruby-191-in.html但是有一个错误,make_gem.out 文件有很多这样的错误(例如,我认为没有必要发布整个文件):

顶部:

C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb --with-curl-lib=C:\curl-7.30.0-devel-mingw32\bin --with-curl-include=C:\curl-7.30.0-devel-mingw32\include
checking for curl-config... no
checking for main() in -lcurl... yes
checking for curl/curl.h... yes

底部:

C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\curb-0.8.4\ext/curb_postfield.c:454: undefined reference to `_imp__curl_free'
curb_postfield.o: In function `append_to_form':
C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\curb-0.8.4\ext/curb_postfield.c:76: undefined reference to `_imp__curl_formadd'
C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\curb-0.8.4\ext/curb_postfield.c:115: undefined reference to `_imp__curl_formadd'
C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\curb-0.8.4\ext/curb_postfield.c:120: undefined reference to `_imp__curl_formadd'
collect2: ld returned 1 exit status
make: *** [curb_core.so] Error 1

最佳答案

我在尝试针对最新的(在本文发布时)libcurl 7.32.0 安装 curb 时遇到了同样多的链接器错误。不幸的是,以前为我工作的旧版本(例如 7.19.4)不再包含带有库和 header 的 x86-mingw 包。

Here您可以找到包括 libcurl 7.24.0 在内的软件包列表,它们可以帮助您构建扩展。第一篇文章还解释了如何提取它们和设置环境。然后我可以使用 gem install curb -- --with-opt-dir=c:/path/to/libcurl 安装 curb 0.8.5。

关于Ruby gem curb 不会安装在 Windows 7 上,即使我使用 libcurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16839727/

相关文章:

ruby-on-rails - Ruby - 数组输出错误

ruby-on-rails - 从另一个 gem 获取一个 gem 的 Assets

ruby - rake 测试 : Gem Load Error

c++ - VC++ libcurl .lib 大小

c++ - 没有在 Access-Control-Expose-Headers 中公开自定义 header 值

ruby-on-rails - Rails + Postgres - 小数作为字符串存储在数据库中

css - 在 Rails 中使用 bool 值显示和隐藏信息 - Rails 4

ruby - 如何卸载 RVM gem?

c - 在带有 C 的 Mac 上使用 LibCURL

ruby - YAML 语法和 Ruby 解析的说明