关于协议缓冲区:如何卸载protobuf 3.0.0?

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

请随时发表评论。


如果您在Ubuntu上安装了Anaconda,请使用:

1
conda uninstall protobuf

执行上述命令后,请尝试:

1
protoc --version

以下输出确认protobuf已成功删除:

The program 'protoc' is currently not installed. You can install it by
typing: sudo apt install protobuf-compiler

如果您想安装Google Protocol Buffer,请观看以下视频:


我已经使用命令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...