Comment résoudre 'libcurl' non trouvé avec des Rails sur Windows

cela me donne mal à la tête. Je continue un projet de Rails qui a commencé sur Linux et je continue à avoir cela quand je lance Puma sur 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'ai-je essayé?

  • j'ai installé Puma avec succès sur Windows en suivant cette
  • 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 to PATH
  • j'ai installé avec succès curb joyau de l' gem install curb --platform=ruby -- --with-curl-lib=C:/curl/bin --with-curl-include=C:/curl/include
  • j'ai mis le .les fichiers dll dans le dossier Ruby bin, installé le certificat dans curl/bin et même exécuter le curl.exe juste au cas où.

j'ai redémarré la machine mais je vois toujours la même erreur.

je ne sais pas quoi faire. comment installer avec succès libcurl sur Windows pour une utilisation avec les Rails

16
demandé sur JStriedinger 2016-09-07 22:17:32

4 réponses

j'ai eu le même problème et j'ai essayé les mêmes étapes que L'OP a énumérées. Après m'être cassé la tête, maudire l'existence de windows pendant un certain temps et presque convaincre le client de passer à un serveur nix, j'ai pensé à libcurl.dll que j'ai téléchargé dehttps://curl.haxx.se/ (comme suggéré dans tous les postes liés) était corrompu.

téléchargé celui fourni ici http://www.dlldownloader.com/libcurl-dll/ et viola le ffi a pu charger ce un.

Espérons que cela aide quelqu'un d'autre face à ce problème

5
répondu ZX12R 2017-06-29 06:08:49

j'ai juste eu le même problème sur Windows 7 x64 et répondu à ce sujet ici. Semblable à vous, j'ai essayé beaucoup de choses que je pensais devrait fonctionner, mais n'ont pas.

Ce n'travail a été à:

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

  • mettre sur le chemin le cygcurl-4.dll obtenu à partir du courant Curl Assistant De Téléchargement
  • renommer ce qui précède cygcurl-4.dlllibcurl.dllet de le mettre sur le CHEMIN d'accès
  • Installation msys2 package libcurl-devel 7.57.0-1
  • Renommer msys-curl-4.dll (msys2msys64\usr\bin)libcurl.dll

Je n'ai pas essayé de construire curl / libcurl à partir de la dernière source parce que 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 d'autres questions:

5
répondu TT-- 2017-12-11 15:01:38

je veux utiliser wpscan, mais j'obtiens l'erreur libcurl OK, si vous obtenez également la même erreur, alors d'une manière très facile, je vais essayer de vous donner la solution.

il suffit de copier la libcurl.si votre windows est de 32 bits,

si votre windows 64 bit copié sur syswo64.

Bonne chance.

0
répondu 0px 2017-08-03 07:56:28

si vous utilisez WSL sur Windows 10 (Assurez-vous de mettre à jour à Ubuntu 16.04) les instructions suivantes ont fonctionné parfaitement pour moi. Vous pourriez avoir besoin d'essuyer complètement ce que vous avez installé cependant. À l'intérieur de bash:

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev postgresql-client-common postgresql-client libpq-dev

et ensuite pour construire notre chemin et le répertoire de plugin pour rbenv:

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

Enfin, nous arrivons à ruby:

rbenv install 2.4.1
rbenv global 2.4.1

puis bundler:

gem install bundler
rbenv rehash

maintenant nos prérequis:

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

Et puis finalement Rails:

gem install rails
rbenv rehash
-1
répondu barpaio 2017-05-18 12:57:49