web-dev-qa-db-fra.com

Comment résoudre "libcurl" introuvable avec Rails sous Windows

Cela me donne mal à la tête. Je poursuis un projet Rails qui a démarré sous Linux et je le reçois toujours lorsque j'exécute Puma on Ruby Mine:

Error:[rake --tasks] DL is deprecated, please use Fiddle
rake aborted!
LoadError: Could not open library 'libcurl': The specified module could not be found.
Could not open library 'libcurl.dll': The specified module could not be found.
Could not open library 'libcurl.so.4': The specified module could not be found.
Could not open library 'libcurl.so.4.dll': The specified module could not be found.
C:/RailsInstaller/Ruby2.0.0/lib/Ruby/gems/2.0.0/gems/ffi-1.9.14-x86-mingw32/lib/ffi/library.rb:147:in `block in ffi_lib'
[...]

Maintenant, qu'est-ce que j'ai essayé?

  • J'ai installé Puma avec succès sur Windows après cette étape } _
  • J'ai téléchargé curl-7.50.1-win32-mingw et le mettre sur "C:/curl"
  • J'ai ajouté C:/curl/bin et C:/curl/include à PATH
  • J'ai installé avec succès curb gem avec gem install curb --platform=Ruby -- --with-curl-lib=C:/curl/bin --with-curl-include=C:/curl/include
  • J'ai mis les fichiers .dll dans le dossier Ruby bin, installé le certificat dans curl/bin et même exécuter curl.exe au cas où.

J'ai redémarré la machine mais je continue à voir la même erreur.

Je ne sais pas quoi faire. Comment installer avec succès libcurl sur Windows pour une utilisation avec Rails

17
JStriedinger

Je viens d'avoir le même problème sur Windows 7 x64 et a répondu à ce sujet ici . (Comme vous, j'ai essayé beaucoup de choses qui, à mon avis, devraient fonctionner mais ne l'ont pas été.)

Quel travailléétait:

  • Pour prendre un libcurl.dll à partir de l’un des paquets trouvés ici, https://curl.haxx.se/gknw.net/7.40.0/dist-w64/ , et le mettre sur lePATH.
    • Je viens de le mettre sous \Ruby24\bin\
    • Peut-être que pour vous c'estC:\Ruby24-x64\bin

(Voici des choses que j'ai essayées mais qui n'ont pas fonctionné :)

  • Mettre la PATH: le cygcurl-4.dll obtenu à partir du courant Curl Download Wizard
  • Renommez le cygcurl-4.dll ci-dessus en libcurl.dll et mettez-le dans la PATH
  • Installation du package msys2libcurl-devel 7.57.0-1
  • Renommer le msys-curl-4.dll (de msys2 trouvé à msys64\usr\bin) en libcurl.dll 

Je n'ai pas essayé de construire curl/libcurl à partir de la dernière source car j'ai déjà la dernière selon pacman -Ss libcurl:

msys/libcurl 7.57.0-1 (libraries) [installed]
Multi-protocol file transfer library (runtime)

msys/libcurl-devel 7.57.0-1 (development) [installed]
Libcurl headers and libraries

Plus de détails à ce sujet dans ces autres questions:

7
TT--

J'ai eu le même problème et essayé les mêmes étapes que l'OP a énumérées. Après m'être cassé la tête, maudissant l'existence de Windows pendant un certain temps et persuadant presque le client de passer à un serveur nix, j'ai supposé que le libcurl.dll que j'avais téléchargé depuis https://curl.haxx.se/ (comme suggéré dans tous les messages liés) était corrompu. 

Téléchargé celui fourni ici http://www.dlldownloader.com/libcurl-dll/ et viole la ffi a pu charger celui-ci.

J'espère que cela aidera les autres personnes confrontées à ce problème

5
ZX12R

La réponse qui a fonctionné pour moi (W10/Ruby2.6.0) était:

  1. Téléchargez cURL à partir de l'URL suivante: https://curl.haxx.se/windows/ (j'ai choisi 64 bits parce que c'est le système que j'utilise)
  2. Allez dans l'archive et naviguez jusqu'à /bin
  3. Localisez libcurl_x64.dll (ce peut être juste libcurl.dll)
  4. Extrait sur votre disque local
  5. Renommez-le en libcurl.dll s'il contient le suffixe _x64
  6. Couper + coller le fichier dans le répertoire /bin de votre installation Ruby
1
Richard Peck

Je veux utiliser wpscan, mais j'obtiens une erreur libcurl OK, si vous obtenez également la même erreur, je vais essayer de vous donner la solution très facilement.

Copiez simplement le fichier libcurl.dll sur system32 si votre Windows est 32 bits,

Si votre Windows 64 bits copié à syswo64.

Bonne chance.

0
0px