在MacOS上安装协议的多个版本

div*_*poc 1 homebrew protocol-buffers

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

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

在Mac上,我发现(带有brew)版本2.5、2.6和3.1。如果我想同时拥有2.5和2.6版本,我将如何实现?

谢谢

bfo*_*ine 6

您可以使用以下命令安装所有组件:

brew install protobuf@2.5 protobuf@2.6 protobuf@3.1
Run Code Online (Sandbox Code Playgroud)

添加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 ...
Run Code Online (Sandbox Code Playgroud)

您还可以使用别名:

$ alias protoc25="$(brew --prefix protobuf@2.5)/bin/protoc"
$ protoc25 ...
Run Code Online (Sandbox Code Playgroud)

Homebrew这样做不会使已安装版本之间发生冲突。非固定公式正确地以符号链接/usr/local/bin或类似符号链接,因此它可以不带前缀地工作:

$ protoc ...
Run Code Online (Sandbox Code Playgroud)

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

$ PATH="$(brew --prefix protobuf@2.5)/bin:$PATH"
$ protoc ...  # protoc 2.5
Run Code Online (Sandbox Code Playgroud)

  • 这不再有效。旧版本已从自制程序中删除。 (2认同)