Pro*_*ker 4 package-management uninstall apt dependencies code-blocks
我尝试从 ubuntu 软件中卸载代码块。单击后remove显示“无法删除代码::阻止 IDE。没有要删除的包”
我尝试了另一种方法,在终端中运行sudo apt-get purge codeblocks 。但它正在显示
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
codeblocks-contrib : Depends: libboost-system1.62.0 but it is not installable
Depends: libhunspell-1.4-0 but it is not installable
Depends: libwxgtk3.0-0v5 (>= 3.0.2+dfsg) but it is not installable
Depends: libwxsmithlib0 (= 20.03) but 20.03-3 is to be installed
Depends: codeblocks (= 20.03) but it is not going to be installed
Recommends: valgrind but it is not going to be installed
Recommends: cppcheck but it is not going to be installed
Recommends: cscope but it is not going to be installed
Recommends: cccc but it is not going to be installed
codeblocks-dev : Depends: libcodeblocks0 (= 20.03) but 20.03-3 is to be installed
codeblocks-libwxcontrib0 : Depends: libwxgtk3.0-0v5 (>= 3.0.2+dfsg) but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)
如何卸载代码块?
跑步后dpkg -l | grep codeblocks
iU codeblocks 20.03-3 amd64 Code::Blocks integrated development environment (IDE)
iU codeblocks-common 20.03-3 all common files for Code::Blocks IDE
iU codeblocks-contrib 20.03 amd64 contrib plugins for Code::Blocks IDE
ii codeblocks-contrib-common 20.03 all common files for the contrib plugins for Code::Blocks IDE
iU codeblocks-dev 20.03 amd64 Code::Blocks development libraries (SDK)
ii codeblocks-headers 20.03 all Code::Blocks development headers (SDK)
iU codeblocks-libwxcontrib0 20.03 amd64 Code::Blocks shared libraries for wxContribItems
iU codeblocks-libwxcontrib0-dbgsym 20.03 amd64 Debug symbols for codeblocks-libwxcontrib0
iU codeblocks-wxcontrib-dev 20.03 amd64 Code::Blocks development libraries for wxContribItems
iU codeblocks-wxcontrib-headers 20.03 all Code::Blocks development headers for wxContribItems
iU libcodeblocks0 20.03-3 amd64 Code::Blocks shared library
Run Code Online (Sandbox Code Playgroud)
可供下载的软件包是 Debian 版本。由于文件冲突,这些在 Ubuntu 上不兼容。Codeblocks 可从 Ubuntu(版本 20.03-3)上的默认 Universe 存储库获取。此外,Ubuntu 软件包被合并为几个软件包,因此无需下载任何额外的东西。
首先,使用以下命令卸载 debian codeblocks 软件包:
sudo dpkg -P $(dpkg -l | grep codeblocks | awk '{print $2}') libwxsmithlib0 libwxsmithlib0-dev wxsmith-dev wxsmith-headers
Run Code Online (Sandbox Code Playgroud)
然后,运行以下命令来更新软件包列表并从 Ubuntu 存储库重新安装代码块:
sudo add-apt-repository universe
sudo apt update
sudo apt install --reinstall $(apt-cache search codeblocks | awk '{print $1}')
Run Code Online (Sandbox Code Playgroud)
为了解释所使用的命令,以下命令搜索并列出与代码块相关的包:
apt-cache search codeblocks
Run Code Online (Sandbox Code Playgroud)
第一列(左侧)列出了包名称。因此,要仅列出包名称,我们可以awk仅打印第一列,$1如下所示:
apt-cache search codeblocks | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
要将该命令的输出插入到另一个命令中,我们可以使用$(). 因此,要安装上面命令列出的软件包,我们可以使用以下命令:
sudo apt install --reinstall $(apt-cache search codeblocks | awk '{print $1}')
Run Code Online (Sandbox Code Playgroud)
额外帮助:
要搜索可用的包apt-cache search,您可以像这样使用:
apt-cache search codeblocks
Run Code Online (Sandbox Code Playgroud)
要过滤结果以仅包含包含单词“codeblocks”的结果,我们可以使用grep如下命令:
apt-cache search codeblocks | grep -i codeblocks
Run Code Online (Sandbox Code Playgroud)
有关特定包的更多信息apt-cache show,我们可以使用如下命令:
apt-cache show codeblocks
Run Code Online (Sandbox Code Playgroud)
要列出所有已安装的软件包,我们可以使用dpkg -l和过滤结果,如下所示:
dpkg -l | grep codeblocks
Run Code Online (Sandbox Code Playgroud)
单击此处了解有关 dpkg 状态代码(例如ii,iU、 等)的更多信息。基本上,ii表示已完全安装,iU表示软件包未完全安装。