在MacOS上安装多个版本的protoc

时间:2017-10-23 13:58:39

标签: homebrew protocol-buffers

我正在寻找一种方法在我的Mac(Sierra)上提供多个版本的protoc。

在Windows上,我在路径上有我的.exe文件,而文件名包含版本。

在Mac上我发现(使用brew)版本2.5,2.6和3.1。如果我想同时拥有2.5和2.6,我将如何实现这一目标?

由于

1 个答案:

答案 0 :(得分:5)

您可以使用以下方式安装所有这些:

brew install protobuf@2.5 protobuf@2.6 protobuf@3.1

protobuf添加到列表中以获取最新版本(撰写本文时为3.4.1)。

但是,具有特定版本的公式(以@<version>结尾的公式)未在标准位置进行符号链接,因此您需要使用其特定前缀来使用它们,例如:

$ `brew --prefix protobuf@2.5`/bin/protoc ...
$ `brew --prefix protobuf@2.6`/bin/protoc ...
$ `brew --prefix protobuf@3.1`/bin/protoc ...

你也可以使用别名:

$ alias protoc25="$(brew --prefix protobuf@2.5)/bin/protoc"
$ protoc25 ...

Homebrew不会在安装的版本之间产生冲突。非固定公式在/usr/local/bin或类似名称中正确符号链接,因此它没有前缀:

$ protoc ...

如果您使用的程序依赖于protoc但又不想修改它以使用特定版本,则可以向PATH添加相关路径以确保其使用它:

$ PATH="$(brew --prefix protobuf@2.5)/bin:$PATH"
$ protoc ...  # protoc 2.5