curl: (48) une option inconnue a été passée à libcurl
12 réponses
j'ai moi-même rencontré ce problème. Un peu de recherche rapide m'a conduit à ce bug tracker entrée, mais la mise à jour n'a pas fait l'affaire. J'ai récemment construit la nouvelle version de libcurl
à partir de la source, donc j'ai pensé que ça devait être en rapport avec la structure du répertoire qui se mélange. Je suis sûr que vous n'êtes pas exactement dans la même situation, mais peut-être que Mountain Lion a introduit une erreur assez similaire que les mesures que j'ai prises pour résoudre le problème pourrait être en mesure de aider.
tout d'Abord, exécutez which curl
pour déterminer d'où le binaire est appelé. Assurez-vous que l'emplacement existe réellement en exécutant locate -r /curl$
. Si ce n'est pas le cas (c'était le problème dans mon cas), essayez de lancer curl
en utilisant tous les chemins complets fournis par locate
, ignorant les évidemment superflus comme python-pycurl
.
une Fois que vous avez trouvé un qui fonctionne, vous pouvez créer un lien symbolique à partir de l'un which
trouvé, ou bien vérifiez si vous retirez ce dernier permettra à l'interpréteur de commandes de trouver seul le bon. Pour moi, la solution était aussi simple que de retirer /usr/local/bin/curl
, provoquant which curl
répondre correctement /usr/bin/curl
et curl
de revenir à un fonctionnement normal.
je viens d'avoir ce problème avec Alpine Linux.
La solution était d'installer curl-dev en plus de roulage.
vous avez probablement un nouveau curl
qui utilise un ancien libcurl
qui ne sait pas d'une ou de plusieurs options curl essaie d'utiliser.
curl -V
et ldd [path to curl]
va vous montrer toutes les bibliothèques partagées.
C'est la même erreur que j'ai eue après avoir installé cURL depuis la source sur Ubuntu.
$ curl http://www.google.com
curl: (48) An unknown option was passed in to libcurl
en regardant la version de cURL a montré que curl avait mis à jour mais utilisait l'ancienne version de libcurl:
$ curl --version
curl 7.41.0 (x86_64-unknown-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Pour résoudre mon problème, j'ai copié libcurl.so
et d'autres du dernier dossier curl que j'ai téléchargé et surligné ceux déjà sur ma machine.
cp /tmp/curl-7.41.0/lib/.libs/libcurl.so* /usr/local/lib/
Cela a réglé mon problème.
$ curl --version
curl 7.41.0 (x86_64-unknown-linux-gnu) libcurl/7.41.0 OpenSSL/1.0.1 zlib/1.2.3.4
$ curl -I http://www.google.com
HTTP/1.1 302 Found
[...snip...]
si vous venez de construire votre boucle à partir de la source, exécutez sudo ldconfig
pour le fixer.
cela peut être corrigé en réinstallant cURL dans /usr / bin au lieu de /usr/local/bin car Ubuntu 12.04 se comporte bizarrement lorsque vous installez à des endroits différents
Aussi, cela peut être une solution possible, mais attention
ln -s /usr/bin/curl /usr/local/bin/curl
cela signifie, le binaire dans /usr/local/bin
n'est pas vraiment celui que le système recherche ou est dépassé ou ne peut pas fonctionner correctement. Un simple lien symbolique est nécessaire.
Pour être sûr que vous pourriez aussi bien
mv /usr/local/bin/curl /usr/local/bin/curl.bak
avant ln -s
-ing /usr/bin/curl
fin de la version.
j'ai eu un problème similaire (Ubuntu 12.04). J'ai installé manuellement curl usr/local/bin
et de toute commande de type I a été de donner curl:(48) An unknown option was passed in to libcurl
j'ai corrigé la désinstallation de boucle (sudo make uninstall
) et l'installer à partir d'apt-get (sudo apt-get install curl
), qui place automatiquement curl dans usr/bin
. Puis il a travaillé!
j'ai aussi eu cette erreur, mais je ne Cours pas le Mountain Lion, et je voulais un moyen simple et propre pour l'obtenir correctement pour sûr - sur n'importe quel système. (Note n ° 1: il m'arrive d'être dans un crouton Ubuntu/LXDE chroot sur un vieux ARMv7 Chromebook.) (Note #2: j'ai construit la sortie nocturne à partir de la source. Je n'ai eu aucun problème à installer curl de la manière traditionnelle, i.e. sudo apt-get install curl
.)
quand j'ai coché la version curl -V
il a montré ma toute nouvelle version de construction nocturne pour curl: 7.51.1-20161107, mais une ancienne libcurl: 7.22...
j'ai eu une intuition que c'était le problème. J'ai essayé de jouer avec des liens symboliques, mais ça ne marchait pas pour moi et je faisais juste un désordre, donc j'ai consulté la page d'installation officielle: https://curl.haxx.se/docs/install.html.
pour forcer une compilation de bibliothèque statique, désactiver la création de bibliothèque partagée en exécutant configure comme:
./ configure --disable-shared
alors j'ai fait les recherches suivantes À partir de mon curl répertoire source:
sudo make uninstall
./configure --disable-shared
make
sudo make install
maintenant la version curl correspond à la version libcurl, et cela fonctionne.
On Ubuntu 16.04 LTS I just added / usr/local / lib to the LD_LIBRARY_PATH in / etc / profile (LD_LIBRARY_PATH= / usr/local / lib: $ LD_LIBRARY_PATH; export LD_LIBRARY_PATH)
j'ai fait face à la même question sur cygwin
, quand j'ai construit manuellement curl
https
et tout fonctionnait bien
jusqu'au jour où j'ai mis à jour l' curl
colis en cours d'exécution cygwin
installation et de ne pas mettre à jour le paquet libcurl4
, et a commencé à avoir la même erreur.
j'ai vérifié les informations de la version curl en exécutant:
$ curl -V
curl 7.54.1 (i686-pc-cygwin) libcurl/7.52.1 OpenSSL/1.0.2j zlib/1.2.8 libidn2/2.0.2 libpsl/0.17.0 (+libidn2/0.11) libssh2/1.7.0 nghttp2/1.14.0
Release-Date: 2017-06-14
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: Debug IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
alors j'ai trouvé que cygwin a mis à jour le paquet curl
7.54.1 mais libcurl
était encore 7.52.1
alors j'ai désinstallé le paquet curl
et libcurl
et réinstallé puis tout allait bien à nouveau.
$ apt-cyg remove libcurl4 curl
Removing libcurl4
Package libcurl4 removed
Removing curl
Package curl removed
apt-cyg install curl libcurl4
Installing curl
curl-7.54.1-1.tar.xz: OK
Unpacking...
Package curl requires the following packages, installing:
cygwin libcurl4 libmetalink3 libopenssl100 zlib0
Package cygwin is already installed, skipping
Installing libcurl4
libcurl4-7.54.1-1.tar.xz: OK
Unpacking...
Package libcurl4 requires the following packages, installing:
ca-certificates cygwin libgcc1 libgssapi_krb5_2 libidn2_0 libnghttp2_14 libopenldap2_4_2 libopenssl100 libpsl5 libssh2_1 zlib0
Package ca-certificates is already installed, skipping
Package cygwin is already installed, skipping
Package libgcc1 is already installed, skipping
Package libgssapi_krb5_2 is already installed, skipping
Package libidn2_0 is already installed, skipping
Package libnghttp2_14 is already installed, skipping
Package libopenldap2_4_2 is already installed, skipping
Package libopenssl100 is already installed, skipping
Package libpsl5 is already installed, skipping
Package libssh2_1 is already installed, skipping
Package zlib0 is already installed, skipping
Package libmetalink3 is already installed, skipping
Package libopenssl100 is already installed, skipping
Package zlib0 is already installed, skipping
Package curl installed
Package libcurl4 is already installed, skipping
Vérifié curl informations de version de nouveau:
$ curl -V
curl 7.54.1 (i686-pc-cygwin) libcurl/7.54.1 OpenSSL/1.0.2j zlib/1.2.8 libidn2/2.0.2 libpsl/0.17.0 (+libidn2/0.11) libssh2/1.7.0 nghttp2/1.14.0
Release-Date: 2017-06-14
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS Debug IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
est entré dans le même problème après avoir compilé à partir de la source sur une installation packagée, résolu avec les bons drapeaux avec configure
:
./configure --prefix=/usr --libdir=/usr/lib64
Sans --libdir=
option, mine installait une version mise à jour de libcurl en /usr/lib
au lieu de /usr/lib64
et la curl
le binaire accédait encore aux anciennes bibliothèques, ce qui conduisait à une incompatibilité.
Chute de l' --url
paramètre:
curl https://install.meteor.com | /bin/sh