HomeBrew安装指定版本的软件

快速多版本切换

  • 通过 brew install [formula]@[tag] 安装多个版本,然后把其他版本移动到[formula]默认目录中,然后通过brew switch <formula> <version>切换
# 举例 安装多个go语言版本并切换
$ brew install go
$ brew install go@1.10
$ brew install go@1.9
$ brew install go@1.8# 然后把 go@1.10/go@1.9/go@1.8安装目录下的文件移动或者复制到go目录下 ,通过 brew switch go [version]切换版本
# 切换版本语法 brew switch <formula> <version># 移动其他版本目录示例
MacBookPro:go mac$ pwd
/usr/local/Cellar/go
MacBookPro:go mac$ ls
1.10.3  1.11.2  1.11.4
MacBookPro:go mac$ cd ../go@1.10
MacBookPro:go@1.10 mac$ ls
1.10.7
MacBookPro:go@1.10 mac$ mv 1.10.7/ ../go/# 把其他多个版本移动到go默认目录后,查看当前目录下有哪些go版本
MacBookPro:go mac$ ls
1.10.3  1.10.7  1.11.2  1.11.4  1.8.7   1.9.7# 切换版本并查看 切换到go 1.9.7
MacBookPro:go mac$ brew switch go 1.9.7
Cleaning /usr/local/Cellar/go/1.9.7
Cleaning /usr/local/Cellar/go/1.10.3
Cleaning /usr/local/Cellar/go/1.11.2
Cleaning /usr/local/Cellar/go/1.11.4
Cleaning /usr/local/Cellar/go/1.10.7
Cleaning /usr/local/Cellar/go/1.8.7
3 links created for /usr/local/Cellar/go/1.9.7
MacBookPro:go mac$ go version
go version go1.9.7 darwin/amd64# 切换版本并查看 切换到go 1.10.7
MacBookPro:go mac$ brew switch go 1.10.7
Cleaning /usr/local/Cellar/go/1.9.7
Cleaning /usr/local/Cellar/go/1.10.3
Cleaning /usr/local/Cellar/go/1.11.2
Cleaning /usr/local/Cellar/go/1.11.4
Cleaning /usr/local/Cellar/go/1.10.7
Cleaning /usr/local/Cellar/go/1.8.7
3 links created for /usr/local/Cellar/go/1.10.7
MacBookPro:go mac$ go version
go version go1.10.7 darwin/amd64# 切换版本并查看 切换到go 1.8.7
MacBookPro:go mac$ brew switch go 1.8.7
Cleaning /usr/local/Cellar/go/1.9.7
Cleaning /usr/local/Cellar/go/1.10.3
Cleaning /usr/local/Cellar/go/1.11.2
Cleaning /usr/local/Cellar/go/1.11.4
Cleaning /usr/local/Cellar/go/1.10.7
Cleaning /usr/local/Cellar/go/1.8.7
3 links created for /usr/local/Cellar/go/1.8.7
MacBookPro:go mac$ go version
go version go1.8.7 darwin/amd64

安装完毕多个版本go语言后,需要在IntelliJ IDEA 中 Setup SDK 选择对应的版本进行开发

IntelliJ IDEA -> Setup SDK

左侧菜单栏 -> 项目名 -> 鼠标右击 -> Open Module Settings 或者 按 F4

Project Settings -> Project -> 选择相应的 Go 语言版本 ,示例 1.10.7

Project Settings -> Project -> New 添加新增的Go语言版本

PS: 目前来看的话 go 1.11.* 版本暂时不支持 debug模式、但支持run模式 , go 1.10.7 以下版本,支持 run & debug 模式

IntelliJ IDEA 171.* - 173.* 版本 & 以下版本,目前是可用添加 Go 语言支持插件的,当前最新版本 IntelliJ IDEA 181.* - 183.* 目前来看暂时不支持 Go 语言插件,如果是 Intellij IDEA 181.* - 183.* 版本的同学,请选择低版本的IntelliJ IDEA 开发,当前时间2018年-2019年。


以下内容为转载

  • 下文原作者:乾九二 转载来源:https://www.jianshu.com/p/aadb54eac0a8 

其他方法

  • 在mac中使用 brew install 安装的软件默认都是最新版本的。有时候我们需要旧版本(指定版本)的时候,应该怎么做呢?
  • 由于在学习 thrift 的过程中,希望安装 0.9.3 版本的 thrift ,但是默认 brew install thrift 安装的是 0.10.0 版本,所以就查看了下 brew install 是如何进行安装的。

安装源


  • 其实安装主要应该是先找到对应的软件安装源,以前没有认真看 brew 是如何找这个源的,今天使用命令 brew info thrift 看了下,发现是有一个 From 的:
$> brew info thrift
thrift: stable 0.10.0 (bottled), HEAD
Framework for scalable cross-language services development
https://thrift.apache.org/
/usr/local/Cellar/thrift/0.9.3 (95 files, 5.7M) *Poured from bottle on 2017-02-08 at 19:52:24
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/thrift.rb
==> Dependencies
Build: bison ✔
Required: boost ✔, openssl ✔
Optional: libevent ✘
==> Requirements
Optional: python ✔
==> Options
--with-erlangInstall Erlang binding
--with-haskellInstall Haskell binding
--with-javaInstall Java binding
--with-libeventInstall nonblocking server libraries
--with-perlInstall Perl binding
--with-phpInstall PHP binding
--with-pythonBuild with python support
--HEADInstall HEAD version
==> Caveats
To install Ruby binding:gem install thriftTo install PHP extension for e.g. PHP 5.5:brew install homebrew/php/php55-thrift
  • 可以看到,我这里是已经安装好的,第一行显示了 brew 使用的 bottled 里的 thrift0.10.0 版本!而我安装的为 0.9.3 版本,在第4行中有路径。第6行显示了 From !这个很重要。
  • 在我没安装之前,我查找到了这个 From ,然后在浏览器中打开了 https://github.com/Homebrew/homebrew-core。并找到对应的文件:Formula/thrift.rb ,发现这里其实是一个 ruby文件,打开后看到了下面主要的信息:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.10.0/thrift-0.10.0.tar.gz"
sha256 "2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b"
  • 看到这基本知道了软件安装源的相关信息了。所以,不同版本的 thrift.rb 中应该是包含对应版本的软件源 urlsha256 的。接下来查看 thrift.rb 文件修改历史,提示太多,所以简单粗暴的直接将 homebrew-core 整个仓库 git clone 了下来:
git clone git@github.com:Homebrew/homebrew-core.git
  • 有了本地clone的仓库,直接查看对应 0.9.3 版本的 thrift.rb 文件log:
git log ./Formula/thrift.rb | less
  • 找到后搜索 0.9.3 就可以定位到对应的 commit,然后获取到 commmit : 9d524e4。接下来切换到对应的 commit :
git checkout 9d524e4
  • 查看了下 ./Formula/thrift.rb ,发现此时里面的 urlsha256 变成了如下:
url "https://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.tar.gz"
sha256 "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
  • 可以看到,此时的版本正是需要的,接下来执行 brew 安装命令进行安装 0.9.3 版本:
# 这里直接指定了 rb 文件,自己尝试了下,发现果然 OK
brew install ./Formula/thrift.rb
  • 大功告成!

MacOSX系统下HomeBrew安装指定版本的软件 IntelliJ IDEA 设置多个Go语言版本开发相关推荐

  1. 转:Git_Windows 系统下Git安装图解

    原文地址:http://blog.csdn.net/jiguanghoverli/article/details/7902791 Windows 系统下Git安装图解 简单来说Git是一个免费的.开源 ...

  2. Ubuntu环境下如何安装指定版本的Gcc,比如Gcc4.4

    Ubuntu环境下如何安装指定版本的Gcc,比如Gcc4.4 2015-07-16  北京  张俊浩 ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则 ...

  3. 安装JAVA时 指定账户已存在_windows7系统下iTunes安装不了显示指定的账户已存在怎么办...

    当我们要在windows7系统中连接苹果设备的时候,都是需要安装iTunes的,但是有不少用户在安装iTunes的时候却安装不了,显示指定的账户已存在,碰到这样的问题该怎么办呢,接下来给大家分享一下w ...

  4. Mac 10.11系统下cocoaPods安装注意事项

    本文读者需具备的知识:cocoaPods相关概念及常用命令. 今天初次使用cocoaPods(下面我就称其为可可豆好了),为其在OS X 10.11系统下的安装折腾了半天,衰x10^n... 先反省一 ...

  5. macOS 系统下的安装 PHP

    macOS 系统下的安装 PHP 使用软件包 使用 macOS Monterey 之前内置的 PHP 使用软件包 macOS 下有几个预编译和打包的 PHP 版本.可以通过它使用标准的配置的 PHP, ...

  6. Linux 系统下Eclipse安装及使用

    Linux 系统下Eclipse安装及使用 (我安装的eclipse为64位,如果需要32位的,自己去下载32位的eclipse) 安装的软件包有:jdk-8u231-linux-x64.tar.gz ...

  7. Open Inventor: Windows系统下编译安装Quater

    Windows系统下编译安装Quater 济南友泉软件有限公司 一.工具安装 1.1 CMake CMake是一个用于生成不同平台下构建项目的工具.建议使用3.0版本之后的CMake.下载链接 1.2 ...

  8. freenas 当网站服务器,win10系统下如何安装FreeNAS来设置文件服务器

    win10系统下如何安装FreeNAS来设置文件服务器 您是否正在构建文件服务器?FreeNAS可能是您的最佳选择,因为它的功能和价格(免费).以下是安装操作系统的方法. FreeNAS是一个免费提供 ...

  9. win7 64位系统下bugfree安装教程及排坑提示

    win7 64位系统下bugfree安装教程 准备工作 xampp-win32-5.6.38-0-VC11-installer bugfree_v3.0.1 排坑提示: 切记不要直接点页面上XAMPP ...

最新文章

  1. 好莱坞科幻新片《b》,钦定 AI 机器人出演女主角!
  2. axios post body参数_Vue开发中的一些问题(axios封装)
  3. RPC简介,及与web service的对比
  4. python入门教程完整版(懂中文就能学会)-Python入门教程完整版!(懂中文的就能学会)...
  5. sqlserver删除指定列失败
  6. python中的items方法_Python 字典的items()方法和iteritems()方法有什么不同?【面试题详解】...
  7. 主机关机后第二天就无法开机_工控机几种常见的在开机或关机后不能正常使用的故障处理方法汇总...
  8. python列表总结
  9. C++面试宝典 基本语言(三)
  10. Node.js: 认识流stream
  11. Win10配置MinGW教程
  12. 让你在职场游刃有余的10句话
  13. const 与 readonle 的异同
  14. 一文读懂卷积神经网络(转载)
  15. 图像预处理的一般步骤
  16. CodeBlock 基本使用
  17. CF 1260 D 题解
  18. 机械键盘恢复出厂fn_机械键盘使用说明
  19. Vijos 1523 贪吃的九头龙 【树形DP】
  20. 数学牛人们的轶事[下]

热门文章

  1. IE 浏览器各个版本 JavaScript 支持情况一览表
  2. magento 在产品页添加评论 Add Review Form in Magento Product View Page
  3. Drupal 7 主题模板概述
  4. Mysql之inner join,left join,right join详解
  5. SQL Server常用函数 -- 更新中
  6. Github无法拉代码
  7. Linux——批量查找替换方法(VIM和sed)
  8. linux 下wine 和plyaonlinux 安装以及卸载 (linux下运行windows软件的神器)
  9. 【设计模式】设计模式C++编程实现之单例模式(Singleton Pattern)
  10. 树视图主要属性 c# 0207