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

本文初衷

  • 整理自己脑袋中、收藏中的那些资料,来一次清空,让自己重新开始。
  • 帮助 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

资料整理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏jmeter高手高高手

Jmeter(二十)_Mock接口

Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互。而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试对象在正常逻...

2532
来自专栏PHP在线

web缓存的作用和类型

前言&摘要 这段时间的工作内容主要是为一个客户端类型的产品增加文档在线存储和文档在线预览相关特性。由于测试的同事比较细心和专业,发现了项目实现中一些效 率低下的...

3505
来自专栏林欣哲

10 分钟看懂分布式事务

什么是分布式事务 问题的引出 先看一张图,一个电商平台的架构图。 ? 对于用户来说的一个创建订单的过程,背后很可能跨越了多个应用服务。涉及诸如:订单、库存、...

3625
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:基于Access数据库的Demo

说明:该demo是基于Access数据库进行客户信息的新增、查看、编辑 新增客户信息和客户列表

1472
来自专栏北京马哥教育

【图文并茂】一步步带你了解Web站点架构

1.1 http反向代理服务器 在web站点前端,我们需要搭建一个反向代理服务器,用于负责接受用户的请求,请求包括动态和静态的内容请求。一般反向代理服务器的部署...

4768
来自专栏北京马哥教育

【Django新人必看】Django安装及搭建开发环境实战细解

开笔有话说 接触django有一段时间了,发现国内网站上的django学习资料,虽然有不少,但大多有老旧的通病,所基于的版本简直是太旧了,就拿《the djan...

43912
来自专栏Pythonista

nginx负载均衡

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型...

3256
来自专栏韩伟的专栏

高性能服务器架构思路( 五 ) : 分布式缓存

在高性能的服务器架构中,常用的缓存和分布两种策略,往往是结合到一起使用的。只有清楚的理解这些技术的原理,并且和实际的业务场景结合起来,才能真正的做出满足应用要求...

3.6K0
来自专栏老安的博客

docker 容积硬盘扩容小坑一个

1363
来自专栏后端技术探索

分布式系统一致性问题解决实战

商户提交表单数据至旺铺(deco项目,以下皆称为deco),deco需要接入poi系统进行装修内容的人工审核,详细流程见下图。

1172

扫码关注云+社区

领取腾讯云代金券