これは本当にイライラしています。標準のカールコマンドを実行しようとすると、このエラーが発生します。curl:(48)不明なオプションがlibcurlに渡されました
curl --url https://install.meteor.com | sh
curl: (48) An unknown option was passed in to libcurl
誰でも知っていますか?
これは本当にイライラしています。標準のカールコマンドを実行しようとすると、このエラーが発生します。curl:(48)不明なオプションがlibcurlに渡されました
curl --url https://install.meteor.com | sh
curl: (48) An unknown option was passed in to libcurl
誰でも知っていますか?
私はこの問題に自分自身を実行しました。ちょっとした研究ではthis bug tracker entryに私が導かれましたが、更新はそのトリックをしませんでした。私は最近、ソースからlibcurl
の最新バージョンを作りました。だから、それはディレクトリ構造が混ざり合っていることとは何か関係があります。おそらくまったく同じ状況ではないと確信していますが、おそらくマウンテン・ライオンは、問題を解決するために取った手順が助けになるほどの十分なエラーを導入しました。
まず、which curl
を実行して、バイナリがどこから呼び出されているかを判断します。次に、locate -r /curl$
を実行して場所が実際に存在することを確認します。そうでない場合(私の場合はこれが問題でした)、locate
で提供されているすべての完全なパスを使用してcurl
を実行してください。明らかに余分なものは無視してください(python-pycurl
など)。
作品が見つかったら、which
からシンボリックリンクを作成するか、後者を削除するとシェルが正しいものを見つけることができるかどうかを確認することができます。私にとって、修正は/usr/local/bin/curl
を取り除くのと同じくらい簡単で、which curl
は/usr/bin/curl
とcurl
で正常に応答し、通常の動作に戻りました。
私はどのカールを実行し、指定されたディレクトリが存在しなかったので、locateコマンドを実行しようとしましたが、 dデータベース]パターン... デフォルトデータベース: '/var/db/locate.database 'または$ LOCATE_PATH – Zaheer
ああ、残念ですが、' -r'フラグを使うと正規表現を指定してより良い結果をフィルタリングすることができます。しかし、私は ''カールを見つける(locate curl')を実行して、 "/ curl"で終わるパスを探す必要があるだろうと思います。前と同じように、フルパスを使ってシェルで実行してみてください。あなたはそこから行くことができますまた、 'curl - Daniel Stenbergが 'curl'と' libcurl'のあなたのバージョンが確実に一致しないようにするよう提案しました。 – andkerosine
最後に、ハッキングの束の後、私はそれを修正することができました。すべてのカールファイルを削除し、新しく始めることにしました。私はオンラインからカールをダウンロードし、それを自分でコンパイルしました。次に、私はcurlを実行しようとしたときに '/ usr/bin/curl:error:' /usr/bin/.libs/curl 'が存在しないエラーに遭遇しました。 このスクリプトはカールの単なるラッパーです。 詳細については、libtoolのドキュメントを参照してください。 curlを作成すると、明らかに、 '/ usr/local/bin'ではなく'/usr/bin'に必要なcurlファイルが作成されます。'user/bin'はcurlのmacのデフォルトの場所です(以前は削除していました)。 – Zaheer
ほとんどの場合、curlが使用しようとしている1つ以上のオプションを知らないより古いlibcurl
を使用する新しいcurl
があります。
curl -V
これを表示します。ldd [path to curl]
は、カールが使用するすべての共有ライブラリを表示します。
これは問題の最も簡潔な説明です。 –
私は(Ubuntu 12.04では)同様の問題がありました。 I手動usr/local/bin
のカールをインストールし、I型任意のコマンドが自動的にusr/bin
のカールを置いている、私はそれがカール(sudo make uninstall
)をアンインストールし、apt-getを(sudo apt-get install curl
)からそれをインストール固定curl:(48) An unknown option was passed in to libcurl
を与えました。その後、それは働いた!
これは代わりに、Ubuntuのようには/ usr/local/binのでは/ usr /ビンにカールを再インストールすることで固定することができ12.04振る舞う奇妙なあなたはまた別の場所で
をインストールするときに、これが可能修正も可能であるが、
ln -s /usr/bin/curl /usr/local/bin/curl
これは/usr/local/bin
内のバイナリは、実際にシステムが探しているものではありませんか、古くなっているか、正しく機能しないことができ、意味慎重に。シンプルなシンボリックリンクが必要です。
あなたにも
mv /usr/local/bin/curl /usr/local/bin/curl.bak
ln -s
前かもしれない/usr/bin/curl
バージョンを超える-ing安全です。
Ta!これはUbuntu 12.04(sourceから 'curl 7.48.0'をビルドした後)でも私にとってはうまくいきました。 – isomorphismes
これは、UbuntuのソースからcURLをインストールした後に得たのと同じエラーです。 cURLののバージョンを見てみると
$ curl http://www.google.com
curl: (48) An unknown option was passed in to libcurl
はカールが更新されていたが、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
を私がダウンロードした最新のカールフォルダからlibcurl.so
などをコピーして、私のマシンに既に上書きされています。
cp /tmp/curl-7.41.0/lib/.libs/libcurl.so* /usr/local/lib/
これは私の問題を修正しました。
$ 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...]
libcurl.a libcurl.la libcurl.so libcurl.so.4 libcurl.so.4.4.0を/ usr/local/libにコピーしました。私はまだ新しいcurlで古いlibcurlを持っています。 curl 7.54.0(x86_64-pc-linux-gnu)libcurl/7.38.0 –
また、私はこのエラーを得たが、私はマウンテンライオンを実行していないよ、と私は右確かにそれを得るために、シンプルでクリーンな方法を望んでいた - 任意のシステム上で。 (注意#1:古いARMv7のChromebookのcrouton Ubuntu/LXDE chrootにあることになります)(注2:ソースから夜間のリリースをビルドしました。)curlを伝統的な方法でインストールすることは問題ありませんでした(sudo apt-get install curl
)。 )
curl -V
を確認
:7.51.1-20161107が、古いのlibcurl:7.22 ...
私は予感していたこれが問題でした。私はシンボリックリンクを使いこなそうとしましたが、それは私にとってはうまくいかず、私は混乱してしまったので、公式のインストールページ:https://curl.haxx.se/docs/install.htmlに相談しました。
To force a static library compile, disable the shared library creation by running configure like:
./configure --disable-shared
だから私は私のカールソースディレクトリから、次を実行しました:
sudo make uninstall
./configure --disable-shared
make
sudo make install
を今すぐcurlバージョンはlibcurlバージョンと一致し、動作します。
しかし、あなたはlibcurlでしかカールしていないので、他のライブラリはすべて手に入れません。 –
Alpine Linuxでこの問題が発生しました。
カールに加えてcurl-devをインストールするように修正されました。あなたは自分の建てた場合
どのようにしてcurl-devをインストールしなければならなかったのか私はこれをより良いエンジニアに頼んでいます。 :) –
私はカールデベロッパーをインストールしたので、これ以上調べていないので、それは一日CIを壊しました。 – rix
ソースからカールし、sudo ldconfig
を実行して修正します。
;:私はちょうど/ etc/profileを(輸出LD_LIBRARY_PATHの$ LD_LIBRARY_PATH LD_LIBRARY_PATHは=は/ usr/local/libの)でLD_LIBRARY_PATHに/ usr/local/libを追加Ubuntuの16.04 LTSで
私は手動でhttps
で動作するようcurl
を構築し、1日、私はcygwin
セットアップを実行してcurl
パッケージを更新し、パッケージを更新しませんでしたまですべてがうまく
を働いていたとき、私は、cygwin
に同じ問題に直面しlibcurl4
、同じエラーが発生し始めました。
私は実行することにより、カールバージョン情報をチェックする:
$ 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
だから私はcygwinのは7.54.1にパッケージcurl
を更新することを見つけたが、私はそう7.52.1
でまだlibcurl
ましたパッケージcurl
とlibcurl
をアンインストールして再インストールしてから、すべて正常に動作していました。
$ 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
:
$ 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
は、パッケージのインストールの上にソースからコンパイルした後、同じ問題になった、configure
で正しいフラグとそれを解決:
--libdir=
オプションがない場合、私はの更新版をインストールしていました。libcurlを/usr/lib64
の代わりに/usr/lib
に変更し、新しいcurl
バイナリがまだ古いライブラリにアクセスしていたため、互換性が失われていました。
SuperUserに移動する投票。 – Bruno
設定ファイル( '〜/ .curlrc')に設定がありますか、 – Bruno
そのファイルが見つかりません。私はそれが私のコンピュータ上に存在するとは思わない。ところで、私はOS X Mountain Lionを利用しています – Zaheer