在 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
我正在寻找一种方法在我的 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