Installieren Sie Ruby-Kandare Edelstein in windows XP
Ich versuche zu tun, Datei-uploads mit ruby 1.8 und es scheint, wie es gibt keine gute out-of-the-box-Lösungen. Sie alle brauchen scheinbar einige 3rd-party-patch oder Gabel an einem Projekt zu arbeiten. Ich würde mechanisieren, aber ich wirklich brauchen, um die Schnittstelle mit einem xml-api und mechanisieren zu sein scheint, die speziell für den Umgang direkt mit Webseiten. Ich habe versucht RestClient muss es aber nicht, die Funktionen für mehrteilige Formen aus dem Kasten heraus, müssen Sie verwenden eine Gabel des Projekts, um es an die Arbeit. Ähnlichen Situationen zu geben scheint, für Net:HTTP
Ich denke Bordstein wäre der Weg zu gehen, da ich verwenden möchten, können multicurl sowieso für einige andere Dinge, die ich Plane zu tun. Allerdings auf meinem windows-Rechner kann ich nicht scheinen, um installieren Sie den Bordstein gem. gem install Bordstein gibt eine Fehlermeldung, die ich brauche, um anzugeben, wo Sie die curl-Bibliothek lebt.. ich habe versucht, die übergabe von Optionen an extconf aber kein Glück so weit.
Hier ist die Ausgabe von gem install Bordstein ohne Optionen
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
Irgendwelche Ideen, wie kann ich diese zu arbeiten?
- Meine letztendliche Lösung war, nur mit ruby-rest-client, der volle Unterstützung für Datei-uploads. Um dies zu erhalten, fügen Sie einfach gems.github.com, um Ihre Quellen (wenn Sie nicht bereits haben), dann tun gem install rest-client von dort Aus können Sie tun, multipart-post mit so vielen Felder/Dateien, wie Sie wollen.. Z.B. hier: rdoc.info/projects/archiloque/rest-client Dieser client funktioniert Super, kann es nur wärmstens empfehlen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Matt,
Ich habe Probleme bei der Installation der Bordstein gem in Windows vor. Bei dem Versuch, zu sehen, wie andere gelöst hatte, dieser stieß ich auf eine Menge von Fragen und nicht sehr viele Lösungen. Nachdem es wieder tun heute Abend habe ich beschlossen, zu dokumentieren, meine Schritte und die Ergebnisse posten:
http://beginrescue.blogspot.com/2010/07/installing-curb-with-ruby-191-in.html
Sorry für den blogspam, hoffe, dies ist nützlich für jemanden.
pete
Letztendlich ist in win7 mit ruby 1.9.1 die folgenden arbeitete für mich (wo die Pfade aktualisiert werden müssen, sodass die Position (und die version) Ihrer curl-version (, die erzielt werden können über http://curl.haxx.se/download.html#Win32))
Diese dauerte ein paar Minuten, so geduldig zu sein.
--
...Ich verwendet, Evan install-config in seine Antwort mit der richtigen libcurl binary vom Assistenten: http://curl.haxx.se/dlwiz/
Dieser arbeitete für mich auf win XP 64 bit.
Stellen Sie sicher, dass Sie libcurl mit der Beschreibung über die binären für libcurl software-Entwicklung.
Blick auf das zugrunde liegende Problem, das Sie lösen möchten. Ich war auf der Suche nach einem multpart-post-client vor und verbrachte eine Menge Zeit versuchen, aus verschiedenen Edelsteinen/tools.
Die einzige, die ich gefunden, dass funktionierte zufriedenstellend, war Nick Siegers multipart-post-gem
War es sehr einfach zu bedienen, ich empfehle es.
Hier ist Beispielcode, die ich für meinen test
Wie ich sagte schon, ich habe eine Lösung zu finden, die einfach mit dem rest-client in die github-Edelsteine..
gem install rest-client
wird den job zu erledigen.
Von dort aus können Sie eine multipart-post, die enthalten kann: 1 oder mehr Dateien.. Es hat all die Flexibilität, die man brauchen könnte in einer rest-client.
Sehen Sie die Dokumentation hier: http://rdoc.info/projects/archiloque/rest-client
für Beispiele auf, wie es zu benutzen.
Das einzige was ich gefunden habe, dass es nicht richtig war Parsen von cookies. Die cookies, die meine Firma verwendet, können die gleichen Zeichen in den Werten und analysieren nicht, Sie richtig. Ich hatte einige hacks, um das Problem, aber schließlich kam zurück zu beißen mich.. Also nur den anderen Tag begann ich die Analyse der code von Mechanize/WEBrick und war in der Lage zu nutzen, die CookieJar von Mechanize zum verwalten von cookies von der rest-client.. Hoffentlich bekomme ich den Autor des rest-client zu bauen, diese Funktionalität in den rest-client, so dass andere nicht die gleichen Probleme, die ich hatte..
Für Windows 8 der Befehl war:
Und es fast installiert. Jetzt sind es "undefined reference" Warnungen/Fehler
Funktioniert auch unter Windows 10 x64:
Wenn Sie sagen, dass Sie bestanden Optionen für die Konfiguration der extconf.rb, meinst du in der gem install Befehl?
Wenn nicht, ich glaube, es wäre etwas entlang der Linien von
gem install Bordstein -- --with-curl-dir=dir
Es vielleicht ein anderes config-option, aber der-ist das bit, die Sie brauchen, um es zu übergeben Optionen konfigurieren.
Ausführen Unter Befehl und seine Werke
gem install Bordstein --platform=MSWIN32 in
nachdem eine Menge Zeit zu verbringen auf Sie, ich gebe auf...
Den Antworten oben nicht für mich arbeiten, und manche der "kringel" links sind kaputt, ich kann nicht einmal laden Sie von der offiziellen web-site.
was ich will ist ganz einfach: installieren Bordstein gem auf cygwin.
Nun wechselte ich auf VirtalBox, und installiert ein Ubuntu-server auf. dann, installiere ich es in 20 Minuten ohne Probleme.
So, Menschen, die unter cygwin läuft, schalten wir auf Virtuelle Maschine!
Ich habe versucht, alle oben genannten Lösungen und nichts funktionierte, ich gab aber zum Glück habe ich später stolperte über diesen Beitrag http://jooglar.com/edely/content/installing-libcurl-ruby-windows und die Anweisungen, es funktionierte perfekt.
Hier sind die Richtungen, in dem Fall die Webseite geht dem Bauch nach oben:
1. Laden Sie die "libcurl" - version der Bibliothek
Von http://curl.haxx.se/dlwiz/?type=lib
2. Installieren wo auch immer, aber der Pfad keine Leerzeichen enthält.
Werden Sie sicher, dass, wenn Sie die Zip-Datei entpacken, finden Sie die Verzeichnisse "bin" und "include"
3. Fügen Sie die libcurl-Pfad (mit /am Ende bin;), um das system
PATH
variableWARNUNG: VERWENDEN
/
STATT\
im WEG. Keine Leerzeichen zulässig im Weg. Zum Beispiel:C:/curl/curl-7.26.0-devel-mingw32/bin;
4. Installieren Sie die gem
WARNUNG: WIEDER, VERWENDEN Sie
/
STATT\
im WEG. Siehe oben.Beispiel Befehl:
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
[NB: Beachten Sie den standalone -
--
vor--with-...
war dies ein Manko für mich.]An dieser Stelle, sollte es funktionieren. Es funktionierte für mich. Wenn es nicht funktioniert, können Sie versuchen, den rest der Anweisungen:
Wenn es nicht funktioniert, kopieren Sie die folgenden
.dll
- Dateien für die ruby/bin-Verzeichnis und führen Sie wieder den vorherigen Befehl.libcurl.dll
libssl32.dll
libeay32.dll
Auch, wenn das nicht funktioniert...update das DevKit, und führen Sie wieder den vorherigen Befehl. Laden Sie die neueste version und von einer Konsole gehen an die DevKit-Verzeichnis und führen Sie
ruby dk.rb install --force