在ubuntu16.04中安装curl及遇到的问题

时间:2025-03-13 22:32:11

在ubuntu上安装curl本来一条命令就可以完成的

sudo apt install curl

由于服务器不能连接外网,于是下载了curl的安装包在服务器上手动安装。
1下载安装包
curl安装包网站下载地址(下载和libcurl版本一致的安装包,原因:可以先看看第五步):

/download/

或者在终端下直接使用以下命令下载相应版本的安装包:

wget /download/curl-7.71.

2 解压安装包

tar -xzvf curl-7.71.

3 安装

cd curl-7.71.1
./configure
sudo make
sudo make install

注意:关于sudo make 和sudo make install这两条命令,我参考网上的一些资料是没有前面的sudo的,但是我在运行的时候会报以下的错误:
(因为权限不够,所以会出现该错误,因此在输入命令的时候最好加上sudo)

gaomen@server2:~/下载/curl-7.71.1$ make install
Making install in lib
make[1]: Entering directory '/home/gaomen/下载/curl-7.71.1/lib'
make[2]: Entering directory '/home/gaomen/下载/curl-7.71.1/lib'
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c    '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/.4.6.0 /usr/local/lib/.4.6.0
/usr/bin/install: cannot create regular file '/usr/local/lib/.4.6.0': Permission denied
Makefile:1118: recipe for target 'install-libLTLIBRARIES' failed
make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/gaomen/下载/curl-7.71.1/lib'
Makefile:3811: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/home/gaomen/下载/curl-7.71.1/lib'
Makefile:985: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 

4查看是否安装成功

curl -V

5重新安装(如果第四步没有出现警告的错误,这一步就可以忽略)

查看的时候出现了以下警告,curl和libcurl的版本不匹配(这里也就是第一步提到的,在下载curl安装包的时候要下载对应版本的安装包)

gaomen@server2:~/下载/curl-7.71.1$ cd\
gaomen@server2:~$ curl -V
curl 7.71.1 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Release-Date: 2020-07-01
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS GSS-API IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB SPNEGO SSL TLS-SRP UnixSockets
**WARNING: curl and libcurl versions do not match. Functionality may be affected.
curl: symbol lookup error: curl: undefined symbol: curl_mime_free**

关于如何让查看libcurl的版本,我也没有查到,只能先安装一个curl之后查看是否安装成功的时候查看是否会报错
由于我这里libcurl是7.47.0的版本,因此去官网下载了对应版本的curl

curl 7.71.1 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3

重新下载安装包,再重复安装步骤
最后查看是否安装成功:

curl -V

出现以下信息:

gaomen@server2:~/curl-7.47.0$ cd
gaomen@server2:~$ curl -V
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

到这里就安装成功,并且可以使用啦!