zoukankan      html  css  js  c++  java
  • brew更换国内源(镜像),Mac安装homebrew,brew更新问题

    https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/

    替换现有上游

    cd "$(brew --repo)"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
    
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
    
    brew update      #更新完后使用brew update,brew install速度变快很多了,不会卡在那半天没动静,替换镜像完成。

    完成更新源的更换后,我们可以使用
    $ brew upgrade    #将现有的软件进行更新至最新版本,这样便能很直接的看出速度上的变化了。

    $ brew cleanup    #将旧有的软件安装包进行清理


    使用homebrew-science或者homebrew-python

    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-science"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-science.git
    
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-python"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-python.git
    
    brew update








    如果你之前折腾过不少导致你的Homebrew有点问题,那么可以尝试使用如下方案:

    # 诊断Homebrew的问题:
    $ brew doctor
    
    # 重置brew.git设置:
    $ cd "$(brew --repo)"
    $ git fetch
    $ git reset --hard origin/master
    
    # homebrew-core.git同理:
    $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    $ git fetch
    $ git reset --hard origin/master
    
    # 应用生效:
    $ brew update  
    

     

     

    重置更新源 某些时候也有换回官方源的需求

    # 重置brew.git:
    $ cd "$(brew --repo)"
    $ git remote set-url origin https://github.com/Homebrew/brew.git
    
    # 重置homebrew-core.git:
    $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    $ git remote set-url origin https://github.com/Homebrew/homebrew-core.git
    

     

    Mac 安装homebrew

    Homebrew官网 http://brew.sh/index_zh-cn.html

    Homebrew是神马

    Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt-get

     神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器

    Homebrew安装

    Homebrew的安装非常简单,打开终端复制、粘贴以下命令,回车,搞定(请放心使用,原汁原味的官方安装方法搬运)

    Homebrew使用

    Homebrew使用没啥好说的了,常用的

    搜索软件:brew search 软件名,如brew search wget

    安装软件:brew install 软件名,如brew install wget

     “pkgutil --pkgs”命令,列出安装了的pkg包

    卸载软件:brew remove 软件名,如brew remove wget
     








    brew更新问题

    为什么要定期更新
    我发现不少人都不会经常更新,或者只在必须用某个工具的新版本的时候才更新。他们的看法是,更新有可能产生一些意外的问题,反正当前环境足够稳定可以用,干嘛自找麻烦呢?

    这个看法对也不对。对是因为,更新产生的潜在问题不可避免。不对是因为总有一天你需要升级的,也许是为了某个工具的新特性,也许是为了修复软件的漏洞,也许你安装的包非要依赖另一个包的新版本,等等。如果隔了很长一段时间才升级,那潜在的小问题可能就会变成大问题。

    另一个有意思的现象是,当碰到比较破坏性的事情,比如 Mac OS 大版本更新后,很多人会选择重装 Homebrew 然后顺带安装最新版的包。很少人会去装一个指定的旧版本(除了特殊项目需要)。这说明他们不是不想用新版本,而是不想痛苦地更新。

    既然总有一天需要更新,而更新带来问题不可避免,那为什么不更新得频繁点呢?这个道理跟 Git 的冲突解决有相似性。长时间不 pull/push 的代码更容易产生冲突,一个解决方法就是频繁地 commit & merge 。

    我现在试着一个月更新一次,两次下来发现这些好处:

    每次更新的包很少,更新风险也小。

    更容易发现不需要的包,便于清理,不为不需要的东西买单。

    定期清理旧版本,释放空间。

    更新流程其实都差不多,下面列一下我常用的命令。

    更新 Homebrew
    要获取最新的包的列表,首先得更新 Homebrew 自己。这可以用 brew update 办到。

    brew update
    完后会显示可以更新的包列表,其中打钩的是已经安装的包。输出类似下面这样:

    Updated Homebrew from fe93aa3 to 6ae64c3.
    Updated 1 tap (homebrew/versions).
    ==> Updated Formulae
    awscli cmake ✔ homebrew/versions/libmongoclient-legacy
    更新包 (formula)
    更新之前,我会用 brew outdated 查看哪些包可以更新。

    brew outdated
    然后就可以用 brew upgrade 去更新了。Homebrew 会安装新版本的包,但旧版本仍然会保留。

    brew upgrade # 更新所有的包
    brew upgrade $FORMULA # 更新指定的包
    清理旧版本
    一般情况下,新版本安装了,旧版本就不需要了。我会用 brew cleanup 清理旧版本和缓存文件。Homebrew 只会清除比当前安装的包更老的版本,所以不用担心有些包没更新但被删了。

    brew cleanup # 清理所有包的旧版本
    brew cleanup $FORMULA # 清理指定包的旧版本
    brew cleanup -n # 查看可清理的旧版本包,不执行实际操作
    这样一套下来,该更新的都更新了,旧版本也被清理了。

    锁定不想更新的包
    如果经常更新的话,brew update 一次更新所有的包是非常方便的。但我们有时候会担心自动升级把一些不希望更新的包更新了。数据库就属于这一类,尤其是 PostgreSQL 跨 minor 版本升级都要迁移数据库的。我们更希望找个时间单独处理它。这时可用 brew pin 去锁定这个包,然后 brew update 就会略过它了。

    brew pin FORMULA # 锁定某个包
    brew unpinFORMULA # 锁定某个包 brew unpinFORMULA # 取消锁定
    其他几个常用命令
    brew info 可以查看包的相关信息,最有用的应该是包依赖和相应的命令。比如 Nginx 会提醒你怎么加 launchctl ,PostgreSQL 会告诉你如何迁移数据库。这些信息会在包安装完成后自动显示,如果忘了的话可以用这个命令很方便地查看。

    brew info $FORMULA # 显示某个包的信息
    brew info # 显示安装了包数量,文件数量,和总占用空间
    brew deps 可以显示包的依赖关系,我常用它来查看已安装的包的依赖,然后判断哪些包是可以安全删除的。

    brew deps –installed –tree # 查看已安装的包的依赖,树形显示
    输出如下:

    elixir (required dependencies)
    └── :erlang

    wxmac (required dependencies)
    ├── jpeg
    ├── libpng
    │ └── xz
    └── libtiff
    └── jpeg
    还有很多有用的命令和参数,没事 man brew 一下可以涨不少知识。

     
  • 相关阅读:
    第12周作业
    一张表格秒懂MES制造执行系统与ERP的区别关系
    spring boot:用dynamic-datasource-spring-boot-starter配置druid多数据源(spring boot 2.3.3)
    spring boot:使mybatis访问多个druid数据源(spring boot 2.3.2)
    linux(centos8):安装分布式事务服务seata(file单机模式,seata 1.3.0/centos 8.2)
    spring boot:单文件上传/多文件上传/表单中多个文件域上传(spring boot 2.3.2)
    spring boot: 用thymeleaf嵌套循环展示多层数据(spring boot 2.3.2)
    cmd 命令设置环境变量
    AtCoder Grand Contest 047
    AtCoder Grand Contest 032
  • 原文地址:https://www.cnblogs.com/timssd/p/7243019.html
Copyright © 2011-2022 走看看