我在Ubuntu 20.04.2 LTS (fossa-charmander-14 X60)中遇到了这个问题。我买了新的戴尔Latitude 5420。当我输入命令"curl"出现此错误。
curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
parveen@eagle:~$ sudo apt install curl
[sudo] password for parveen:
Reading package lists... Done
Building dependency tree
Reading state information... Done
curl is already the newest version (7.68.0-1ubuntu2.7).
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
它说我已经有了旋度,但我认为它没有正确连接。当我输入&;man curl&;它显示了所有关于curl的手动文档。但是它不工作,请帮帮我,伙计们。
是的,它没有正确链接。运行:
sudo ldconfig
我找到了一个解决方案。首先,我使用sudo rm -rf /usr/local/bin/curl*
命令从这个位置删除curl。如果我输入curl,它会显示错误bash: /usr/local/bin/curl: No such file or directory
。然后我用type curl
输出curl is hashed (/snap/bin/curl)
。然后我使用hash -d curl
,之后我的curl开始工作。
这个回答的评论真的很有帮助。
我为这个问题找到了一个不同的解决方案。我做了以下操作:
1 -找出curl对libcurl的依赖。由于某些原因,这个链接有问题。
sudo ldd $(which curl) | grep libcurl
输出指向以下位置的链接:
/usr/local/lib/libcurl.so.4
然后我使用命令:
sudo apt-get purge curl
清除curl后,我检查了该文件是否在那里,它确实在那里。所以我做了如下操作:
sudo rm /usr/local/lib/libcurl.so.4
(或者你之前得到的路径)
然后我用下面的命令重新安装了curl:
sudo apt-get install curl
然后一切都开始工作了!!
注意:安装某些包后出现问题
在安装了其他软件包后,问题又出现了,我不得不重复这个过程。所以它不是一个非常稳定的解。显然我删除的文件又被重新创建了。我仍在寻找一个永久的解决方案。
我使用的是Ubuntu 20.04.2, Dell Latitude 3410。我得到以下错误:
~> curl
curl: symbol lookup error: curl: undefined symbol: curl_url_set, version CURL_OPENSSL_4
我重新安装了curl和snap,它解决了我的问题。
~> sudo apt remove curl
~> sudo snap install curl
如果需要,我也有一个curl图像与docker。
~> docker run curlimages/curl google.com
我的回答:
1-首先删除当前的curl包
sudo apt purge curl
2-使用snap安装curl
sudo snap install curl
3-删除旧的curl文件
sudo rm -rf /usr/local/bin/curl*
type curl
#curl is hashed (/snap/bin/curl)
hash -d curl
在Alpine上,只需要在安装前运行apk upgrade
。