我使用此处的说明安装协议缓冲区:https://github.com/google/protobuf/blob/master/src/README.md
并以版本3("protoc --version" "libprotoc 3.0.0"
)
但是,我需要一个protoc版本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.
我正在使用Ubuntu 14.04和#34;其中protoc"命令点在" / usr / bin / protoc"
我正在寻找一种替代解决方案而不是Protocol Buffer: Version Change
我不确定我是否使用正确的卸载命令。有什么建议吗?
答案 0 :(得分:15)
我设法卸载了protoc 3.0.0(我以初学者的方式发布了答案,我需要解释才能理解):
1)remove
命令不起作用,因为我在协议缓冲区页面上使用的指令使用make来构建工具 - 在使用apt-get安装时只使用remove
2)要删除使用make
构建的所有库,请转到下载protoc文件的文件夹并运行make uninstall
。那很有效。但是,当我再次使用protoc --version
进行检查时,我仍然获得了libprotoc 3.0.0
。我认为原因是因为我按照其中一条指令更改了安装路径(./configure --prefix=/usr
),因此我需要使用rm `which protoc`
手动删除protoc 3中的剩余部分,因为{{ 1}}没有指向它。之后,protoc完全消失了。
3)我使用make uninstall
安装了我需要的版本(任何protoc 2),现在我已apt-get install protobuf-compiler
请随时发表评论。
答案 1 :(得分:4)
如果 Ubuntu 上安装了 Anaconda ,请使用:
conda uninstall protobuf
执行上述命令后,尝试:
protoc --version
以下输出确认已成功删除protobuf
:
目前尚未安装“protoc”程序。你可以安装它 输入:sudo apt install protobuf-compiler
如果您要安装Google协议缓冲区,请观看此视频: https://www.youtube.com/watch?v=EAFK-tN_yaw
答案 2 :(得分:3)
我使用了命令sudo apt-get remove protobuf-compiler
,引用是How to remove protobuf-compiler from Ubuntu 14.04。希望这有帮助!
答案 3 :(得分:2)
我遇到了同样的问题,问题发生在usr/local/include/
。它在您从源安装protoc时安装其头文件,当您卸载它时,它不会删除其包含头。因此,* .pb.cc文件仍尝试包含这些文件。我通过删除usr/local/include/
中的protobuf标头,然后从apt-get重新安装libprotobuf来修复此问题。
答案 4 :(得分:0)
在Fedora 29上,sudo dnf remove protobuf
删除了我先前安装的sudo dnf -y install protoc
3.5.0版本。
[dzintars@fedora ~]$ protoc
bash: protoc: command not found...