8 Stimmen

Ruby Curb gem in Windows XP installieren

Ich versuche, Datei-Uploads mit Ruby 1.8 zu tun, und es scheint, wie es gibt keine gute Out-of-the-Box-Lösungen. Sie alle scheinen einige 3rd-Party-Patch oder Fork eines Projekts zu benötigen, um zu arbeiten. Ich würde Mechanize verwenden, aber ich brauche eigentlich eine Schnittstelle zu einer xml api und Mechanize scheint speziell für den Umgang direkt mit Webseiten gemacht werden. Ich habe versucht, RestClient, aber es hat nicht, dass die Funktionalität für mehrteilige Formulare aus der Box, müssen Sie einen Fork des Projekts verwenden, um es zu arbeiten. Ähnliche Situationen scheinen für Net:HTTP zu bestehen. Ich denke, dass Curb der richtige Weg wäre, da ich Multicurl sowieso für einige andere Dinge, die ich plane, verwenden möchte. Auf meinem Windows-Rechner kann ich jedoch das curb gem nicht installieren. gem install curb gibt eine Fehlermeldung aus, die besagt, dass ich angeben muss, wo sich die curl-Bibliothek befindet. Ich habe versucht, Optionen an extconf zu übergeben, aber bisher ohne Erfolg. Hier ist die Ausgabe von gem install curb ohne jegliche 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

Haben Sie eine Idee, wie ich das zum Laufen bringen kann?

1voto

rupweb Punkte 2597

Für Windows 8 lautete der Befehl:

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

Und es lässt sich fast installieren. Jetzt gibt es "undefinierte Referenz"-Warnungen/Fehler

1voto

Das funktioniert auch unter Windows 10 x64:

gem install curb -- --with-curl-lib="C:/Users/WindowsVM/binaries/curl-7.40.0-devel-mingw64/lib64" --with-curl-include="C:/Users/WindowsVM/binaries/curl-7.40.0-devel-mingw64/include"

0voto

Robert Rouse Punkte 4721

Wenn Sie sagen, dass Sie Konfigurationsoptionen an extconf.rb übergeben haben, meinten Sie im Befehl gem install?

Wenn nicht, wäre es wohl etwas in der Art von

gem install curb -- --with-curl-dir=dir

Es könnte eine andere Konfigurationsoption sein, aber das -- ist das Bit, das Sie an die Konfigurationsoptionen übergeben müssen.

0voto

AMIC MING Punkte 6190

Ausführen des Befehls Below und seine Wirkung

gem install curb --platform=mswin32

0voto

Siwei Punkte 16939

Nachdem ich viel Zeit damit verbracht habe, gebe ich auf...

Die oben gegebenen Antworten funktionieren bei mir nicht, und einige der "curl"-Links sind defekt, ich kann nicht einmal von der offiziellen Website herunterladen.

was ich will, ist ganz einfach: curb gem auf cygwin installieren.

Jetzt bin ich auf VirtalBox umgestiegen und habe einen Ubuntu-Server darauf installiert. Dann habe ich ihn in 20 Minuten ohne Probleme installiert.

Also, Leute, die unter Cygwin arbeiten, lasst uns zu Virtual Machine wechseln!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X