How can I uninstall protobuf 3.0.0?
我使用此处的说明安装协议缓冲区:https://github.com/google/protobuf/blob/master/src/README.md
并以版本3("protoc --version""libprotoc 3.0.0" )结尾
但是,我需要一个协议版本2。
我尝试使用apt-get remove protobuf-compiler 卸载它
但这是我得到的,并且仍安装了版本3:
1 2 3 4 5
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'protobuf-compiler' is not installed, so not removed
0 to upgrade, 0 to newly install, 0 to remove and 396 not to upgrade.
我正在使用Ubuntu 14.04,"哪个协议"命令指向" / usr / bin / protoc"
我正在寻找一种比协议缓冲区:版本更改中给出的替代解决方案
我不确定是否使用正确的命令进行卸载。 有什么建议么?
我设法卸载了协议3.0.0(我以一种初学者的方式发布答案,我需要用它解释的方式来理解):
1)remove 命令不起作用,因为我在协议缓冲区页面上遵循的说明使用make来构建工具-使用apt-get安装时只能使用remove
2)要删除所有使用make 构建的库,请转至下载协议文件的文件夹并运行make uninstall 。那行得通。但是,当我再次检查protoc --version 时,仍然得到libprotoc 3.0.0 。我认为原因是因为我按照他的指示之一更改了安装路径(./configure --prefix=/usr ),因此我需要使用rm `which protoc` 手动删除协议3中的剩余内容,因为make uninstall 并未指向对此。之后,protoc完全消失了。
3)我用apt-get install protobuf-compiler 安装了所需的版本(任何协议2),现在我有了libprotoc 2.5.0
请随时发表评论。
make uninstall 应该已经删除了protoc ,但是如果您先用另一个--prefix 重新运行.configure ,那么它将从错误的位置删除。只要您使用与最初安装时相同的--prefix (和其他标志)运行.configure ,make uninstall 应该删除所有文件(除非有错误!)。
感谢您的澄清。我还认为我的问题可能来自于不同的--prefix 。但是,其他--prefix 在指导说明中提出了建议,令我惊讶的是,这种简易性并没有我期望的那么简单。
我的天啊。我使用rm which protoc ,然后无法重新安装协议。
@ user8264为什么不呢?
截至2017年8月,conda卸载protobuf似乎实际上并未从我的环境中删除库,包含文件等。我手动删除了protoc二进制文件,库和包含文件,并且使我的构建过程最终看到了系统protobuf(提示:如果您忘记从conda env中删除include目录,则最终会出现关于protobuf错误的神秘错误不匹配)。
如果您在Ubuntu上安装了Anaconda,请使用:
1
conda uninstall protobuf
执行上述命令后,请尝试:
以下输出确认protobuf 已成功删除:
The program 'protoc' is currently not installed. You can install it by
typing: sudo apt install protobuf-compiler
如果您想安装Google Protocol Buffer,请观看以下视频:
VIDEO
我已经使用命令sudo apt-get remove protobuf-compiler ,参考是如何从Ubuntu 14.04删除protobuf-compiler。希望这可以帮助!
我只是遇到了同样的问题,而问题出在usr/local/include/ 中。当您从源安装协议时,它会安装其头文件,而在卸载它时,它不会删除其包含头。因此,*。pb.cc文件仍尝试包含这些文件。我通过在usr/local/include/ 中删除protobuf标头解决了问题,然后从apt-get重新安装libprotobuf。
在Fedora 29 sudo dnf remove protobuf 上,删除了我先前安装的sudo dnf -y install protoc 3.5.0版本。
1 2
[dzintars@fedora ~]$ protoc
bash: protoc: command not found...