如何卸载 protobuf 3.0.0?

How can I uninstall protobuf 3.0.0?

我使用此处的说明安装 Protocol Buffer:https://github.com/google/protobuf/blob/master/src/README.md 并以版本 3 ("protoc --version" "libprotoc 3.0.0")

结束

但是,我需要一个协议版本 2。

我尝试用 apt-get remove protobuf-compiler

卸载它

但这是我得到的,并且版本 3 仍然安装:

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.

我在“/usr/bin/protoc”

使用 Ubuntu 14.04 和 "which protoc" 命令点

我正在寻找

中给出的替代解决方案

我不确定我是否使用了正确的卸载命令。有什么建议吗?

我设法卸载了 protoc 3.0.0(我以初学者的方式发布答案,我需要它解释理解的方式):

1) remove 命令不起作用,因为我在 protocol buffer 页面上遵循的说明使用 make 来构建工具 - 在使用 apt-get[= 安装时你只使用 remove 21=]

2) 要删除使用 make 构建的所有库,请转到下载协议文件的文件夹和 运行 make uninstall。那奏效了。然而,当我再次检查protoc --version时,我仍然得到libprotoc 3.0.0。我认为原因是因为我按照其中一个说明更改了安装路径 (./configure --prefix=/usr),因此我需要使用 rm `which protoc` 手动删除 protoc 3 中的剩余部分,因为 make uninstall 没有指向它。之后protoc就彻底没了

3) 我用 apt-get install protobuf-compiler 安装了我需要的版本(任何协议 2),现在我有 libprotoc 2.5.0

欢迎大家继续评论。

我刚遇到同样的问题,问题出在 usr/local/include/。它会在您从源安装 protoc 时安装其 header 文件,当您卸载它时,它不会删除其包含的 headers。因此,*.pb.cc 文件仍会尝试包含这些文件。我通过删除 usr/local/include/ 中的 protobuf header 然后从 apt-get.

重新安装 libprotobuf 解决了这个问题

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

conda uninstall protobuf

执行以上命令后,尝试:

protoc --version

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

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

如果您想安装 Google Protocol Buffer,请观看此视频: https://www.youtube.com/watch?v=EAFK-tN_yaw

我使用了命令sudo apt-get remove protobuf-compiler,参考是How to remove protobuf-compiler from Ubuntu 14.04。希望这对您有所帮助!

在 Fedora 29 上 sudo dnf remove protobuf 删除了我之前安装的 sudo dnf -y install protoc 3.5.0 版本。

[dzintars@fedora ~]$ protoc
bash: protoc: command not found...