在跑步的时候
./configure --prefix=/mingw
Run Code Online (Sandbox Code Playgroud)
在我以前运行的库的MinGW/MSYS系统上
'./configure --prefix=/mingw && make && make install'
Run Code Online (Sandbox Code Playgroud)
我发现了这条消息:
警告:已安装Vamp插件SDK的一个版本.如果您安装新版本而不先删除旧版本,则会出现忧虑和悲伤.(继续)
这让我很担心.与'make install'相反的是什么,即如何在Linux中卸载库?"干净"会做这项工作,还是涉及其他步骤?
Jos*_*ley 490
make clean从源/构建树中删除任何中间或输出文件.但是,它只影响源/构建树; 它不会触及文件系统的其余部分,因此不会删除以前安装的软件.
如果你很幸运,跑步make uninstall会起作用.然而,这取决于图书馆的作者提供的内容; 有些作者提供了uninstall目标,有些则没有.
如果你不幸运,你将不得不手动卸载它.运行make -n install可能会有所帮助,因为它将显示软件安装自身所需的步骤,但实际上不会执行任何操作.然后,您可以手动撤消这些步骤.
Nis*_*sse 344
如果sudo make uninstall不可用:
在基于Debian的系统中,make install您可以运行sudo checkinstall以创建.deb自动安装的文件,而不是(或之后).然后,您可以使用系统包管理器将其删除(例如apt/ synaptic/ aptitude/ dpkg).Checkinstall还支持创建其他类型的包,例如RPM.
另请参阅http://community.linuxmint.com/tutorial/view/162以及一些基本的checkinstall用法和debian checkinstall包.
*:如果您在安装后阅读此内容,make install仍然可以按照上述说明操作,dpkg -r $PACKAGE_NAME_YOU_CHOSEN然后再进行操作.
thr*_*ree 59
如果你有一个manifest文件列出了make install你安装的所有文件,你可以从另一个答案运行这个命令:
cat install_manifest.txt | xargs echo rm | sh
Run Code Online (Sandbox Code Playgroud)
如果你有,sudo make install你需要在卸载时添加一个sudo:
cat install_manifest.txt | xargs echo sudo rm | sh
Run Code Online (Sandbox Code Playgroud)
Joa*_*uer 24
根据所讨论程序的makefile/configure脚本/ autofoo魔法的好坏,以下内容可能会解决您的问题:
make uninstall
Run Code Online (Sandbox Code Playgroud)
问题是您应该在已安装的版本的源树上执行此操作,并使用与安装时完全相同的配置.
nde*_*mou 17
步骤1:如果您以任何方式删除/更改了构建目录,则只需执行此步骤:使用与之前完全相同的过程下载并make/make install .
第2步:尝试make uninstall.
cd $SOURCE_DIR
sudo make uninstall
Run Code Online (Sandbox Code Playgroud)
如果成功,你就完成了.如果你是偏执狂,你也可以尝试"方法#3"的步骤,以确保make uninstall没有错过任何文件.
流程概述
在基于debian的系统(例如Ubuntu)中,您可以.deb使用名为的工具轻松创建包checkinstall.然后安装.deb软件包(这将使你的debian系统意识到你的软件包的所有部分都已安装完毕)并最终卸载它以让你的软件包管理器正确清理你的系统.
一步步
sudo apt -y install checkinstall
cd $SOURCE_DIR
sudo checkinstall
Run Code Online (Sandbox Code Playgroud)
此时checkinstall将提示输入包名称.输入一些描述性的东西并记下它,因为你会在一分钟内使用它.它还会提示您可以忽略的更多数据.如果它抱怨版本不被接受,只需输入合理的内容即可1.0.完成后,您可以安装并最终卸载:
sudo dpkg -i $PACKAGE_NAME_YOU_ENTERED
sudo dpkg -r $PACKAGE_NAME_YOU_ENTERED
Run Code Online (Sandbox Code Playgroud)
如果install_manifest.txt源目录中存在文件,则它应包含安装所创建的每个文件的文件名.
所以首先检查文件列表及其模态时间:
cd $SOURCE_DIR
sudo xargs -I{} stat -c "%z %n" "{}" < install_manifest.txt
Run Code Online (Sandbox Code Playgroud)
您应该获得零错误,并且列出的文件的mod-times应该在安装时间之后或之后.如果一切正常,您可以一次删除它们:
cd $SOURCE_DIR
mkdir deleted-by-uninstall
sudo xargs -I{} mv -t deleted-by-uninstall "{}" < install_manifest.txt
Run Code Online (Sandbox Code Playgroud)
然而,用户Merlyn Morgan-Graham对此方法有严重的通知,您应该记住(这里逐字复制):"注意其他软件包可能已安装的文件.只需删除这些文件[...]即可打破其他包裹." .这就是我们创建deleted-by-uninstalldir并将文件移到那里而不是删除它们的原因.
99%的帖子存在于其他答案中.我刚刚收集了一些有用的内容(希望)易于遵循的方法,并试图特别注意重要的细节(比如引用xarg参数并保留已删除文件的备份).
mip*_*adi 10
make clean 通常只清理包含源代码本身的目录中的构建文件,并且很少涉及任何已安装的软件.
Makefile通常不包含卸载目标 - 您通常必须自己执行此操作,方法是从安装它们的目录中删除文件.例如,如果你建立了一个程序,并安装它(使用make install)进入/usr/local,你会想看看通过/usr/local/bin,/usr/local/libexec,/usr/local/share/man,等,并删除不需要的文件.有时Makefile包含uninstall目标,但并非总是如此.
当然,通常在Linux系统上使用软件包管理器安装软件,软件管理器能够"自动"卸载软件.
方法一
从源文件夹:
#make uninstall
方法二
如果没有卸载过程:
打开 install_manifest.txt (由 创建#make install)
删除列出的所有目录/文件
删除您错过的所有剩余文件:
#xargs rm < install_manifest.txt
删除所有隐藏的目录/文件:
$rm -rf ~/.packagename
删除源文件夹。
方法三
如果以上选项均不起作用,请查看安装过程:
#make -n install
并反转安装过程:
#rm -rf all directories/files created
例子
例如,以下是从源卸载nodejs、npm和nvm的方法:
如何完全卸载 Node.js,并从头开始重新安装 (Mac OS X)
您可以使用上述任何方法来完成此操作。
遗憾的是没有标准,这是从源代码安装的危险之一.一些Makefile将包含"卸载",所以
make uninstall
Run Code Online (Sandbox Code Playgroud)
从源目录可能工作.否则,可能是手动撤消make install所做的事情.
make clean 通常只是清理源目录 - 删除生成/编译的文件等,可能不是你想要的.