Как мне установить curl с поддержкой http2

18

Кажется, что curl, упакованный с Ubuntu 16.04, не поддерживает http2. Как мне включить http2 в curl

Тахионы
источник

Ответы:

43

По состоянию на январь 2018 года. Вам нужно будет установить curl из исходного кода, чтобы получить поддержку http2. Вы можете сделать это с помощью следующих команд

sudo apt-get -y install build-essential nghttp2 libnghttp2-dev libssl-dev
wget https://curl.haxx.se/download/curl-7.63.0.tar.gz
tar xzf curl-7.63.0.tar.gz
cd curl-7.63.0
./configure --with-nghttp2 --prefix=/usr/local --with-ssl
make && sudo make install
sudo ldconfig
Тахионы
источник
@ user535733 Не могли бы вы объяснить, почему?
Тахионы
2
@ user535733. Спасибо, это установит curl внутри / usr / local, поэтому он не будет конфликтовать с установкой по умолчанию. Вы даже можете использовать их рядом.
Тахионы
2
Если он все еще не работает, вам может понадобиться перезапустить оболочку или очистить хеш, если вы использовали в /usr/bin/curlпоследнее время. askubuntu.com/q/923527/453746
Джефф
3
Скорее всего, вы захотите скомпилировать и с поддержкой ssl. Затем установите sudo apt-get install libssl-devсначала и добавьте команду run configure следующим образом:./configure --with-nghttp2 --prefix=/usr/local --with-ssl=/usr/local/ssl
Stalinko
2
@ Тахионы в моем случае это не было. Я думаю, что это зависит от настроек env. Если вы не передадите этот параметр преднамеренно, то configureпрочитаете его из переменных env OPENSSL_CFLAGSиOPENSSL_LIBS
Stalinko