原文地址:http://blog.csdn.net/tsxw24/article/details/15500517

linux下有很方便的包管理器如:apt-get、yum,mac下也有类似的工具:Homebrew 和 Fink、MacPort。

Flink是直接编译好的二进制包,MacPorts是下载所有依赖库的源代码,本地编译安装所有依赖,Homebrew是尽量查找本地依赖库,然后下载包源代码编译安装。

Flink容易出现依赖库问题,MacPorts相当于自己独立构建一套,下载和编译的东西太多太麻烦,Homebrew的方式最合理。

Homebrew安装命令,mac下自带ruby,在终端输入以下命令,按提示安装即可

  1. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

PS:http://brew.sh/index_zh-cn.html

从ubuntu下转mac后,最让我不爽的就是没有zssh可以用,让我远程登陆传输文件时很不方便,现在好了,以下一条命令就可以安装好zssh

  1. brew install zssh lrzsz

参考:http://brew.sh/index_zh-cn.html

补充:https下载失败的解决方法

homebrew使用curl下载文件,有些是使用https连接下载的。但由于网络环境或一些其它原因,造成https证书认证失败而无法下载

如我再公司访问 https://webp.googlecode.com 就会报证书错误

curl 的"-k"选项可以解决这个问题,不检查ssl证书安全性而直接下载,这可能带来一些安全风险。

但你若对homebrew足够信任,那可以修改其源码给curl加上“-k”选项,方法如下:

  1. sudo vim /usr/local/Library/Homebrew/utils.rb
  1. 135 def curl *args
  2. 136   curl = Pathname.new '/usr/bin/curl'
  3. 137   raise "#{curl} is not executable" unless curl.exist? and curl.executable?
  4. 138
  5. 139   args = [HOMEBREW_CURL_ARGS, HOMEBREW_USER_AGENT, *args]
  6. 140   # See https://github.com/mxcl/homebrew/issues/6103
  7. 141   args << "--insecure" if MacOS.version < "10.6"
  8. 142   args << "--verbose" if ENV['HOMEBREW_CURL_VERBOSE']
  9. 143   args << "--silent" unless $stdout.tty?
  10. 144
  11. 145   safe_system curl, *args
  12. 146 end

修改139行加上-k参数

    1. 139   args = [HOMEBREW_CURL_ARGS, HOMEBREW_USER_AGENT,'-k', *args]

[转]mac osx 下的apt-get,yum的代替工具 ----homebrew的更多相关文章

  1. Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中

    1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...

  2. MAC OSX 下安装 CTAGS

    由于本子跟风换了骚货MBP,因而开发要迁移到MAC OSX下,mac os 下的ctags不一样,所以需要自己编译一个   Lion内置了ctags,但是不我所需要,因此得在网上去弄,最新的版本是 5 ...

  3. Mac OSX下Sublime Text配置使用Ctags实现代码跳转

    1. 先用brew工具安装ctags,安装路径在/user/local/bin The default ctags executable in OSX does not support recursi ...

  4. 在Mac OSX下安装Microsoft Calibri字体

    参考: Where can I find default Microsoft fonts Calibri, Cambria? 在Mac OSX下安装Microsoft Calibri字体 1.下载: ...

  5. Mac OSX 下配置 LNMP开发环境

    不久前负责了一个项目需要配置PHP7的开发环境,因为之前所有的项目用的是PHP5的,所以研究了这些东西,但是很遗憾,电脑出了问题,不得已重装了系统,然后你懂得...什么都没有了,要重新来过.. 虽然本 ...

  6. 在Mac OSX下使用ssh建立隧道(在Windows下建立隧道可以使用putty,其间会用到ppk文件)

    在Windows下建立隧道可以使用putty,其间会用到ppk文件.在Mac OSX下,同样的功能可以用ssh命令实现.具体是: ssh -D 8088 -Nf user@ip -i myppk.ss ...

  7. MAC OSX下终端通过NTLM验证,通过代理上网(花了一天时间才解决这个)

    MAC OSX下终端通过NTLM验证,通过代理上网 公司网络限制如下: 公司通过代理来控制内网用户访问外网的权限.用户名和密码为域用户,采用的验证方式是NTLM(用的是foreFront TMG) 遇 ...

  8. Mac OSX下卸载Nodejs

    有时手贱看到新版本就升级,升级后发现一堆模块不能用了,心情好慢慢调,但也有调不好的时候,只能卸载重装低版本的node了. 我的机器环境如下 1. Mac OSX 10.10.3 2. node为0.1 ...

  9. Mac OSX下Go语言开发环境的搭建与配置--使用InteliJ IDEA 13

    折腾了一上午终于把go语言的ide配置好了. 其实GO语言的语法和特性早在去年的时候就学习了一遍.结果后来一直没机会进行开发,结果还是个GO小白.感叹一下,要学好一门编程语言唯一的途径就是多写代码.. ...

随机推荐

  1. Redis基准

    Redis的基准是实用程序运行n个命令检查Redis 的性能. 语法 redis的基准的基本语法如下所示: redis-benchmark [option] [option value] 例子 下面给 ...

  2. js 获取地址栏最后一个文件名称

    var JsRequest={ //这就是一个静态类,类里面有2个静态方法 //方法一:获取url的文件名 例如 index.html getUrlname:function(url){ //假如传进 ...

  3. R语言中的factor

    对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...

  4. model ,orm,dao,service,持久层 ,mvc 这些名词在java中的概念?

    这些概念不针对某个特定的编程语言. view层:结合control层,显示前台页面. control层:业务模块流程控制,调用service层接口. service层:业务操作实现类,调用dao层接口 ...

  5. 最近迷上了GUI

    package windows; import java.awt.BorderLayout; import javax.swing.ButtonGroup; import javax.swing.JB ...

  6. C# 无法在发送 HTTP 标头之后进行重定向

    在调试中发现错误如下: Response.Redirect引起的“无法在发送HTTP标头之后进行重定向” 跳转失败 解决方案如下: 使用js方法来跳转地址 const string url=" ...

  7. MyBatis批量添加和删除

    一.批量插入 二.批量删除

  8. Python入门学习:网络刷博器爬虫

    1.比较有趣,可以不断刷新指定的网址 2.源码: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import webbrowser as web imp ...

  9. .NET Best Practices

    Before starting with best practices tobe followed, it is good to have clear understanding of how mem ...

  10. cocos2d - 翻转两个Sprite

    用两个图片初始化两个CCSprite,一样的大小,重叠在一起,分别叫做 foregroundNode 和 backgroundNode . - (void)flipover { if (isFlipi ...