如何安装支持 http2 的 curl

Tac*_*ons 18 curl https 16.04

似乎带有 ubuntu 16.04 的 curl 不支持 http2。如何在 curl 中启用 http2

Tac*_*ons 45

截至目前(2018 年 1 月)。您必须从源代码安装 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
Run Code Online (Sandbox Code Playgroud)

  • 您很可能也希望使用 ssl 支持进行编译。然后首先安装`sudo apt-get install libssl-dev`并以这种方式添加运行配置命令:`./configure --with-nghttp2 --prefix=/usr/local --with-ssl=/usr/local/ssl ` (3认同)
  • @用户535733。谢谢,这将在 /usr/local 中安装 curl 所以它不会与默认安装冲突。您甚至可以并排使用它们。 (2认同)
  • 如果它仍然不起作用,那么如果您最近使用了`/usr/bin/curl`,则可能需要重新启动 shell 或清除哈希。https://askubuntu.com/q/923527/453746 (2认同)
  • @Tachyons 在我的情况下不是。我认为这取决于环境设置。当你不故意传递这个参数时,`configure` 从环境变量 `OPENSSL_CFLAGS` 和 `OPENSSL_LIBS` 中读取它 (2认同)