前言
前几天因为需要在php5.4、Mysql环境中开发,所以准备搞一个虚拟机,跑一个vagrant。
今天安装git的时候,感慨Mac OS下有homebrew,随便一搜,发现linux下确实也有brew,一个homebrew的分支linuxbrew。
安装非常简单。
安装
首先身平台自带的安装工具yum或者apt-get安装依赖。
Debian or Ubuntu
1 | sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev |
Fedora, CentOS or Red Hat
1 | sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel |
之后,运行安装脚本就好了。1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
由于网络原因,在安装速度取决与当前环境连接github的速度。
在安装的最后一步会提示输入password,vagrant的虚拟机实例默认的password是vagrant。
配置
安装好linuxbrew之后,需要把shell的环境设置一下,不然打brew的时候会提示找不到命令。
把下面的内容添加到.bashrc or .zshrc:
1 | export PATH="$HOME/.linuxbrew/bin:$PATH" |
这里也有一点需要注意,这三行需要放在最后一行。不然会无效的。
添加好之后,可以选择运行sourse .bashrc或者sourse .zshrc来重新加载配置,或者重新登录shell。
到这里,linuxbrew就安装好了,brew运行一下试试吧。
安装git报错
我一直很喜欢最新版本,ubuntu下默认安装的git版本是1.9.1。所以,安装好linuxbrew之后的第一步,就是通过brew再安装一次git,替换掉现有的git。
1 | brew install git` |
brew最厉害的地方就在于,它会自动分析依赖,然后安装响应的东西,不需要人工处理繁复的依赖。
但是在vagrant下直接运行上面的命令会报错:1
tmp/tcl-tk--tk20150913-17770-afpei5/tk8.6.4/unix/../generic/tk.h:96:25: fatal error: X11/Xlib.h: No such file or directory
# include <X11/Xlib.h>
^
compilation terminated.
make: *** [tkStubLib.o] Error 1
原因在于vagrant是无界面的,所以没有X11相关的东西。
理论上的解决方案自然是不安装X11有关的依赖,只是我不知道其中的命令。
我推测这个问题可能比较小众,因为linuxbrew上才1K出头的start,知道的人可能不多,再用在vagrant下的人恐怕就更少了。
搜了一圈在linuxbrew的issue中找到了答案:1
brew install tcl-tk --without-tk
先这样安装tcl的依赖,然后再安装git就好了。
当然,最好在安装之前先brew update或者brew up一下。