以安装vim为例。
(vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面)。
1.获取源文件
首先进入/usr/local下(只是为了方便处理安装文件,位置随意)
用git clone下vim的源文件,执行命令:sudo git clone https://github.com/vim/vim.git,也可以使用wget的方式,仅仅是为了获取源文件。
使用命令进入到vim文件夹,ls查看
这些都是vim的源文件。
2.configure命令
configure:是一个shell脚本,它在源文件的根目录中。他的作用是检查你的系统中是否有编译这个程序依赖的其它库之类的东西。
prefix 参数——指定目标安装路径,必须指定,否则不知道默认安装到哪里,不方便以后的管理(类似windows的安装路径)。
命令全文: sudo ./configure --prefix=/usr/local/vimdir ( prefix后的路径随意; 另外 ./configure “./”——表示当前目录,这个是相对路径。)
执行后,可能会遇到问题:
错误提示:no terminal library found
解决方法:
sudo apt-get update
sudo apt-get install libncurses5-dev
安装完terminal library,再重新运行configure脚本,成功!
3.make
make指令最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译的工作。
Makefile:这个文件是按照特定的语法编写的,文件中说明了,如何编译的各个源文件并链接生成可执行文件,并要求定义源文件之间的依赖关系。
简单的说:定义好源文件之间的依赖关系,并编译生成可执行性文件(这里是编译,不是检查)。
完整命令: sudo make
4.make install:
执行安装,在执行configure的时候prefix指定的安装路径也是在此时创建出来的。
完整命令: sudo make install
到此为止,vim就在bin目录下。执行:/usr/local/vimdir/bin/vim下了。
5.ln命令软链接
一般用vim的时候,无论在任何地方输入vim都可以,但是现在就不行。只能到这个/usr/local/vimdir/bin/目录下执行./vim才能执行。
原因:
系统对应的所有的指令目标目录的路径,只有上述的这些,并没有新装的 /usr/local/vimdir/bin,所以当我们在非此目录输入 vim 时,会提示未安装。
解决方法:
建立一个软连接到/usr/bin目录下:
完整命令:
sudo ln -s /usr/local/vimdir/bin/vim /usr/bin/vim