一个Java程序员眼中的Mac OS(系列五:包管理工具)

作者: judasn 分类: 工作台 发布时间: 2017-07-11 15:52

Homebrew

本文初衷

  • 整理自己脑袋中、收藏中的那些资料,来一次清空,让自己重新开始。
  • 帮助 Mac 后来者,减少他/她入门成本

先总结

  • 有 Homebrew 配置,安装/维护一些开发包/组件会方便很多,提供开发者效率,仅此而已。
  • 如果不是开发者,一般人就不用折腾这个,浪费时间

Homebrew 知识

Homebrew 是什么

为什么会出现

  • 有些操作,命令行或者说脚本的方式效率是远高于 GUI 界面操作的,这个概念需要用过 Unix/Linux 做过开发的人会懂,特别是搞运维的。
  • 如果你不理解,可以找一些运维的视频教程来看看,会有很多事情的处理都是搞脚本的做的。所以在维护一些开发包/组件的时候,懂一些包管理工具的话会帮你提高工作效率,仅此而已。

哪些人不喜欢它

  • 不需要用到终端的用户

为什么学习它

  • 方便安装开发包/组件,便于管理这些东西

我要怎么做

  • 安装
    • 先安装 Xcode command line tools:
      • 打开终端,输入:xcode-select --install,如果提示已经安装过了那就不用管了。
    • 打开终端,复制该命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      • 根据提示,按回车键
      • 根据提示,输入当前用户的密码
      • 终端中提示正在下载和安装 Homebrew,这个时间根据你网速的快慢来决定时间,反正我是很慢,还出现了下载速度 0kb 的状况,然后重新运行了一次就成功。
  • 测试
    • 打开终端,复制该命令:brew doctor
      • 如果输出:Your system is ready to brew.,则表示安装成功。
  • 卸载
    • 打开终端,复制该命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    • 删除目录:sudo rm -rf /usr/local/Homebrew
  • Homebrew 基本使用
    • 安装指定软件包:brew install 软件包名称,安装过程的讲解可以看这篇文章:https://www.zybuluo.com/phper/note/87055
    • 卸载指定软件包:brew uninstall 软件包名称
    • 更新指定软件包:brew upgrade 软件包名称
    • 搜索是否存在对应的软件包:brew search 软件包名称
    • 查看对应软件包的信息:brew info 软件包名称
    • 更新 Homebrew 在服务器端上的包目录:brew update
    • 清理旧版本的包缓存时:brew cleanup
    • 查看你安装过的包列表:brew list
    • 更新 Homebrew 在服务器端上的包目录:brew update
    • 查看那些已安装的程序需要更新:brew outdated
  • 使用国内源

Proxychains4 为终端做代理

  • 保证你本地有一个 socks5 到代理工具,不然下面的方法你无法使用。我这里的工具是:Shadowsocks
  • 安装 Proxychains4,输入命令:brew install proxychains-ng
  • 修改配置文件:vim /usr/local/etc/proxychains.conf
    • 在配置文件中找到:[ProxyList](也就是第 111 行的地方),在其下面一行新增一条:socks5 127.0.0.1 1080 # my vps
  • 测试:proxychains4 wget www.google.com,如果你能正常下载到 Google 页面,则表示成功了。以后只要在命令前面加个:proxychains4,即可。
  • 修改终端配置,让命令更加简洁:
    • 如果你是 zsh 终端,配置修改:vim ~/.zshrc,添加一行:alias pc='proxychains4'
    • 如果你是 bash 终端,配置修改:vim ~/.bash_profile,添加一行:alias pc='proxychains4'
    • 修改之后,以后要用 proxychains4 执行穿墙命令的话,那就可以这样写:pc wget google.com

资料整理

希望对你有帮助!