这是很无奈。 我不断收到试图运行一个标准curl命令时,此错误:
curl --url https://install.meteor.com | sh
curl: (48) An unknown option was passed in to libcurl
谁知道怎么修它?
这是很无奈。 我不断收到试图运行一个标准curl命令时,此错误:
curl --url https://install.meteor.com | sh
curl: (48) An unknown option was passed in to libcurl
谁知道怎么修它?
我刚刚遇到这个问题我自己。 粗略研究的一点使我这个bug追踪器条目 ,但是更新并没有做的伎俩。 我最近建立的最新版本libcurl
从源代码,虽然如此,我想它一定有什么做的目录结构混错。 我敢肯定,你可能不完全相同的情况,但也许是山狮推出了类似的足够错误,我把解决问题的步骤也许能提供帮助。
首先,运行which curl
,以确定二进制正在从调用。 然后,确保该地的真实运行中存在locate -r /curl$
。 如果没有(这是在我的情况的问题),请尝试运行curl
使用所有提供的完整路径的locate
,忽视了明显多余的像python-pycurl
。
一旦你找到了一个工作,你可以从一个创建符号链接到它which
发现的,否则检查是否移除后者将允许壳上找到了自己正确的。 对我来说,修复是为去除简单/usr/local/bin/curl
,造成which curl
正确响应与/usr/bin/curl
和curl
本身恢复到正常运行状态。
刚刚与高山的Linux这个确切的问题。
此修复程序是安装卷曲开发除了卷曲。
最有可能你有一个新的curl
,使用较旧libcurl
不知道的一个或多个选项卷曲尝试使用。
curl -V
将展示这一点, ldd [path to curl]
将显示您的所有共享库卷曲的用途。
这是我从源在Ubuntu上安装卷曲后得到同样的错误。
$ 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...]
如果你刚刚建立从源代码的卷曲,运行sudo ldconfig
来修复它。
这可以通过重新安装卷曲到/ usr / bin中,而不是在/ usr / local / bin目录作为Ubuntu的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
-ing的/usr/bin/curl
过的版本。
我也有这个错误,但我不跑山狮,而我需要一个简单,干净的方式得到它的权利肯定的 - 任何系统上。 (注1:我正好是在一个旧的ARMv7的Chromebook crouton的Ubuntu / LXDE的chroot。)(注2:我建立从源头晚间发布我没有问题与安装卷曲的传统方式,即sudo apt-get install curl
。)
当我检查的版本curl -V
它表现为卷曲我的品牌新的每日构建版:7.51.1-20161107,但一个老的libcurl:7.22 ...
我有一种预感,这是问题。 我想瞎搞符号链接,但它并没有为我工作,我只是做一个烂摊子,所以我咨询了官方安装页面: https://curl.haxx.se/docs/install.html 。
要强制静态库编译,运行配置一样禁用共享库的创建:
的./configure --disable共享
于是我就从我的卷曲源目录下:
sudo make uninstall
./configure --disable-shared
make
sudo make install
现在卷曲版本的libcurl版本匹配,和它的作品。
我有一个类似的问题(在Ubuntu 12.04)。 我在手动安装的卷曲usr/local/bin
和任何指令I型是赋予curl:(48) An unknown option was passed in to libcurl
我固定它卸载卷曲( sudo make uninstall
)和apt-get的安装它( sudo apt-get install curl
),它会自动放置在卷曲usr/bin
。 然后,它的工作!
我面临同一问题cygwin
,当我手动建立curl
一起工作https
和一切工作正常
直到有一天,我更新了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的更新包curl
到7.54.1但libcurl
仍处于7.52.1
所以我卸载包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
在Ubuntu 16.04 LTS我只是说在/ usr / local / lib目录到LD_LIBRARY_PATH在/ etc / profile文件(LD_LIBRARY_PATH =在/ usr / local / lib目录:$ LD_LIBRARY_PATH;出口LD_LIBRARY_PATH)
得到了同样的问题在打包安装从源代码编译具有后,用正确的标志解决它configure
:
./configure --prefix=/usr --libdir=/usr/lib64
如果没有--libdir=
选项,我的是安装的libcurl的更新版本到/usr/lib
,而不是/usr/lib64
和新的curl
的二进制仍然访问老的库,从而导致不兼容。
得到这个在MacOS,莫名其妙地卷曲得到了来自自制安装和连接,解决办法是:
which curl
( /usr/local/bin/curl
在我的情况) rm /usr/local/bin/curl
。 现在which curl
会给/usr/bin/curl
掉落的--url
参数:
curl https://install.meteor.com | /bin/sh