我试图做文件上传与红宝石1.8,它好像没有好的出的现成的解决方案。 他们似乎都需要一个项目的一些第三方补丁或叉子上班。 我会用机械化,但我确实需要有XML API接口和机械化似乎直接与处理的网页必须专门制造。 我试过RESTClient实现,但它不具备多形式的开箱即用该功能,你必须使用该项目的一个分支,以得到它的工作。 类似的情况似乎净存在:HTTP我想遏制会去,因为我可能仍要使用multicurl一些其他的事情,我打算做的方式。 然而,我的Windows机器上我似乎无法安装路边的宝石。 创业板安装路边给出了一个错误,说我需要指定curl库住在哪里。我已经试过路过选项extconf但至今没有运气。 这里是宝石的输出路边安装不带任何选项
C:\ruby\lib\ruby\gems\1.8\gems\curb-0.5.4.0>gem install curb
Building native extensions. This could take a while...
ERROR: Error installing curb:
ERROR: Failed to build gem native extension.
C:/ruby/bin/ruby.exe extconf.rb
checking for curl-config... no
checking for main() in curl.lib... 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
--srcdir=.
--curdir
--ruby=C:/ruby/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:12: 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:/ruby/lib/ruby/gems/1.8/gems/curb-0.5.4.0 for inspection.
Results logged to C:/ruby/lib/ruby/gems/1.8/gems/curb-0.5.4.0/ext/gem_make.out
任何想法如何,我可以得到这个工作?
马特,
我已经收到您在Windows路边宝石麻烦。 在试图了解其他人如何解决好这个,我碰到了很多问题,而不是很多的解决方案。 不必再次做到这一点今晚我决定把我的文档和步骤后的结果: http://beginrescue.blogspot.com/2010/07/installing-curb-with-ruby-191-in.html
很抱歉的blogspam,希望这是对别人有用。
皮特
最终,在与红宝石WIN7 1.9.1对我下面的工作(其中的路径需要进行更新,以反映您的卷曲版本的位置(和版本)(可通过获得http://curl.haxx.se/download的.html#的Win32 ))
gem install curb -- --with-curl-lib="C:/curl/curl-7.21.1-devel-mingw32/bin" --with-curl-include="C:/curl/curl-7.21.1-devel-mingw32/include"
这确实需要几分钟的时间过程,所以要耐心等待。
我用埃文的安装配置在他的回答与向导正确的libcurl二进制: http://curl.haxx.se/dlwiz/
宝石安装路边 - --with卷曲-LIB = “C:/curl/curl-7.21.1-devel-mingw32/bin” --with卷曲-包括=“C:/curl/curl-7.21.1 -devel-的mingw32 /包括”
这为我工作在Win XP 64位。
确保与描述选择的libcurl关于是与libcurl软件开发的二进制文件。
看着你试图解决潜在的问题。 我之前找了multpart,客户端后,花了很多时间尝试不同势宝石/工具。 唯一一个我发现,工作满意的是尼克Siegers 多部分后的宝石
这是非常简单的使用,我强烈推荐它。
下面是我为我的测试做出的示例代码
require "rubygems"
require 'net/http/post/multipart'
url = URI.parse('http://localhost:3000/mytest/1.xml')
File.open("c:/temp/readme.txt") do |jpg|
req = Net::HTTP::Put::Multipart.new url.path,
"mytest[attachment]" => UploadIO.new(jpg, "text/plain", "c:/temp/readme.txt")
res = Net::HTTP.start(url.host, url.port) do |http|
http.request(req)
end
puts res.inspect
end
正如我已经发表了评论,我发现这是简单地使用在github上的宝石..创业板安装其余的客户端将完成这项工作提供其余客户端的解决方案。 从那里,你可以做一个多杆,它可以包含1个或多个文件。它具有所有灵活性一个可能需要休息的客户端。 看到这里的文档: http://rdoc.info/projects/archiloque/rest-client关于如何使用它的例子。
我发现它没有正确唯一要做的是分析饼干。 饼干我公司的用途可以在值等号,它不能正确地解析他们。 我已经把一些黑客绕过该回来咬我的问题,但最终..所以只是有一天,我开始分析从机械化/使用WEBrick代码,并能够利用来自机械化的CookieJar从静止管理Cookie -client ..希望我能得到休息的客户端的作者建立这个功能集成到其他的客户端,以便其他人不会有我有同样的问题..
对于Windows 8的命令是:
gem install curb -- --with-curl-lib=C:/Utils/curl-7.32.0-dev/lib64 --with-curl-include=C:/Utils/curl-7.32.0-dev/include
它几乎安装。 现在有“未定义参考”警告/错误
这也工作,在Windows 10的x64:
宝石安装路边 - --with卷曲-LIB = “C:/Users/WindowsVM/binaries/curl-7.40.0-devel-mingw64/lib64” --with卷曲-包括=“C:/用户/ WindowsVM /binaries/curl-7.40.0-devel-mingw64/include”
当你说你传递的配置选项extconf.rb,你在创业板指install命令?
如果不是这样,我相信这将是沿东西线
创业板安装路边 - --with卷曲-DIR = DIR
这可能是一个不同的配置选项,但 - 是你需要传递配置选项位。
执行以下命令及其作品
创业板安装路边--platform = mswin32
一个地段上花费的时间后,我放弃了......
上面给出的答案不工作对我来说,和一些“卷曲”链接被打破,我甚至无法从官方网站下载。
我想要的很简单:在Cygwin上安装路边的宝石。
现在,我切换到VirtalBox,并在其上安装了Ubuntu的服务器。 然后,我在20分钟内安装没有任何问题。
因此,在cygwin下工作的人,让我们切换到虚拟机!
我尝试了所有上面并没有什么工作的解决方案,我放弃了,但幸运的是,后来我在这个岗位绊倒http://jooglar.com/edely/content/installing-libcurl-ruby-windows和指令有完美。
这里有方向,万一网站开始倒闭了:
1.下载库的“libcurl的”版本
从http://curl.haxx.se/dlwiz/?type=lib
2.安装的地方,但路径不能有空格。
可以肯定的是,当你解压缩文件,你会发现目录中的“bin”和“包括”
3. libcurl的路径(在/ bin中结束;)添加到系统PATH
变量
警告: /
INSTEAD OF \
PATH中。 不允许有空格的路径。 例如: C:/curl/curl-7.26.0-devel-mingw32/bin;
4.安装宝石
警告:同样,使用/
INSTEAD OF \
PATH中。 往上看。
示例命令: gem install curb -- --with-curl-lib=C:/curl/curl-7.26.0-devel-mingw32/bin --with-curl-include=C:/curl/curl-7.26.0-devel-mingw32/include
[注:请注意,独立--
之前--with-...
,这对我来说是疑难杂症。]
在这一点上,它应该工作。 它为我工作。 如果没有,你可以尝试的其他说明:
如果它不工作,以下复制.dll
文件到红宝石/ bin目录,然后再次运行前面的命令。
-
libcurl.dll
-
libssl32.dll
-
libeay32.dll
另外,如果不工作...更新的devkit,并再次运行前面的命令。 下载最新版本,并从一个控制台去到的devkit目录并运行ruby dk.rb install --force