2013-11-21 87 views
5

我使用的是centos 6.2,我需要使用curl --http2.0中的一個服務器請求,但是我有7.19.6,之後看看http://curl.haxx.se/docs/manpage.html給了我--http2.0選項只支持curl 7.33.0,所以爲了克服這個問題,我已經安裝curl 7.33.0,按照從http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html 安裝curl後,我試圖使用這一點,但它仍然給我的錯誤爲捲曲(1):不支持的協議,我已經通過檢查了我的捲曲版本:捲曲--version這是給我:使用--http2.0選項與curl 7.33.0給出不受支持的協議

curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.33.0 OpenSSL/1.0.0 zlib/1.2.3 
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz 

我需要使用這個--http2.0,但沒有得到任何我能做到的事情? 由於捲曲7.19被安裝,並且我重新安裝了較高版本的捲曲,這是否會造成任何問題?

回答

4

正如丹尼爾on the mailing list解釋說:

我的計劃是立足於nghttp2庫http2工作 (https://github.com/tatsuhiro-t/nghttp2)[...] HTTP2將開始libcurl中的術語,而不是一個「功能」具體作爲一個單獨的協議。

所以首先你需要手動安裝nghttp2 [1]。

然後,你需要明確啓用在配置時HTTP2支持與--with-nghttp2

./configure --with-nghttp2=/path/to/nghttp2/install/dir [...] 

[1]:在撰寫自述時說,它沒有在Ubuntu的包裝,所以你需要自己建造它

編輯

請從下面的基本說明建立與默認選項庫只(而不是命令行工具)。

要建立nghttp2你首先需要安裝其要求(在nghttp2 documentation page詳見):

# To clone the nghttp2 Github repo 
yum install git 

# Build essentials 
yum install gcc 
yum install make 
yum install automake 
yum install libtool 

# Required to build the library 
yum install pkgconfig 
yum install zlib-devel 

一旦完成克隆回購:

git clone https://github.com/tatsuhiro-t/nghttp2.git 
cd nghttp2 

構建庫作爲解釋here

autoreconf -i 
automake 
autoconf 
# Note: I assume you want to deploy it under /usr/local 
# Feel free to adapt to your needs! 
./configure --prefix=/usr/local 
make 

然後de伎倆是:

make install 

如果一切正常,那麼你需要照顧,使nghttp2與./configure --with-nghttp2=/usr/local [...]打造的libcurl 7.33.0。

額外

如果你想在除了(nghttp打造的應用程序,...),你就必須建立nghttp2前安裝額外的軟件包:

yum install openssl-devel 
yum install libevent-devel 
yum install libxml2-devel 
yum install jansson-devel 
+0

IM不能安裝它,你可以給我一步一步明智的所有指令來安裝它,作爲即時通訊初學者到Linux ...感謝支持 –

+0

如果可能,請給出其他所需軟件的說明以支持它 –

+0

我用nghttp2庫編譯指令編輯了我的問題。 – deltheil