我正在尝试在Ubuntu 11.04上安装Rails环境。当我启动命令rvm install 1.9.2——with-openssl-dir=/usr/local时,收到以下错误:
curl : (1) Protocol https not supported or disabled in libcurl
如何解决这个问题?
我正在尝试在Ubuntu 11.04上安装Rails环境。当我启动命令rvm install 1.9.2——with-openssl-dir=/usr/local时,收到以下错误:
curl : (1) Protocol https not supported or disabled in libcurl
如何解决这个问题?
当前回答
我只需要修改“http://webname…”变成“http://webname……”
注意这句话。它应该是double(")而不是single(')。
其他回答
我刚刚用指向openssl 1.0.2g库文件夹和包含文件夹的配置选项重新编译了curl,我仍然得到了这条消息。当我对curl执行ldd时,它没有显示它使用libcrypt。或者libssl。所以,所以我假设这一定意味着即使make和make安装成功没有错误,但curl不支持HTTPS ?配置和make如下:
./configure --prefix=/local/scratch/PACKAGES/local --with-ssl=/local/scratch/PACKAGES/local/openssl/openssl-1.0.2g --includedir=/local/scratch/PACKAGES/local/include/openssl/openssl-1.0.2g
make
make test
make install
我应该提到libssl.so。1在/local/scratch/PACKAGES/local/lib目录下。不清楚——with-ssl选项应该指向那里还是指向openssl安装放置openssl.cnf文件的目录。我选择了后者。但是如果它应该是前者,make应该会失败,并出现无法找到库的错误。
在libcurl常见问题解答条目“libcurl不支持或禁用协议xxx”中特别提到了这一点。
为了让你开心,我在这里也嵌入了解释:
When passing on a URL to curl to use, it may respond that the particular protocol is not supported or disabled. The particular way this error message is phrased is because curl doesn't make a distinction internally of whether a particular protocol is not supported (ie never got any code added that knows how to speak that protocol) or if it was explicitly disabled. curl can be built to only support a given set of protocols, and the rest would then be disabled or not supported. Note that this error will also occur if you pass a wrongly spelled protocol part as in "htpt://example.com" or as in the less evident case if you prefix the protocol part with a space as in " http://example.com/".
我在为ruby安装rvm时遇到了同样的问题。 找到解决方案: 在root的下载文件夹中提取curl (tar)后。
cd /root/Downloads/curl # step-1
./configure --with-ssl # step-2
make # step-3
make install # step-4 (if not root, use sudo before command)
源
这里有窗户的答案, 上面说:
curl -XPUT 'http://localhost:9200/api/twittervnext/tweet'
哎呀,第一次尝试就已经出错了:
curl: (1) Protocol 'http not supported or disabled in libcurl
这个错误的原因有点愚蠢,Windows不喜欢你在命令中使用单引号。所以正确的命令是:
curl –XPUT "http://localhost:9200/api/twittervnext/tweet"
我遇到了这个问题,原来在https之前有一个空格,导致了这个问题。“Https://”vs“Https://”