在 MacOS 上安装多个版本的 protoc

install multiple versions of protoc on MacOS

我正在寻找一种方法在我的 Mac (Sierra) 上使用多个版本的协议。

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

在 Mac 我发现(使用 brew)版本 2.5、2.6 和 3.1。如果我想同时使用 2.5 和 2.6,我该如何实现?

谢谢

您可以安装所有这些:

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