以安装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

Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)的更多相关文章

  1. Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  2. Linux编译安装程序(使用configure、make、 make install)

    以安装vim为例. (vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面). 1.获取源文件 首先进入/usr/local下(只是为了方便处理安装文件,位置随意) 用git ...

  3. Python在Linux下编译安装报错:Makefile:1141:install

    正常情况下执行:./configuremake && make install可以直接安装python,但是在在更新了乌版图后居然报错了!!!检查了一圈,发现乌版图安装了python3 ...

  4. Ubuntu16.04.2 LTS 64bit系统装机记录

    系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...

  5. ubuntu下boost编译安装

    ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...

  6. Ubuntu16.04系统美化、常用软件安装等,长期更新

    Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...

  7. ubuntu16.04 ROS环境下配置和运行SVO

    ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552

  8. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  9. unbutu下wireshark编译安装(已更新)

    今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...

随机推荐

  1. 【原创】Your Connection is not private

    用Chrome打开google等https网站时碰到问题: “your connection is not private”. 后来发现是跟GoAgent的安全证书有关系(我用XX.NETFQ) 解决 ...

  2. MVC3学习:利用mvc3+ajax结合MVCPager实现分页

    本例使用表格Users(Uid,UserName,PassWord),数据库访问使用EF first code. public class Users { [Key] public int Uid { ...

  3. 插入排序的Java代码实现

    插入排序也是一类非常常见的排序方法,它主要包含直接插入排序,Shell排序和折半插入排序等几种常见的排序方法. 1.直接插入排序 直接插入排序的思路非常简单:依次将待排序的数据元素按其关键字值的大小插 ...

  4. (转)OpenResty(nginx+lua) 开发入门

    原文:https://blog.csdn.net/enweitech/article/details/78519398 OpenResty 官网:http://openresty.org/  Open ...

  5. jenkins 通过shell启动tomcat会随着job完成而被自动关闭的解决方法

    jenkins 通过shell启动tomcat会随着job完成而被自动关闭的解决方法 填入BUILD_ID=随便填什么 原理是:我不知道

  6. chrome中Timeline的使用(译)

    一.概括 Timeline面板包括以下四个部分: 控制面板.开始记录.停止记录.配置捕获信息: 概况.页面性能的整体概况: flame chart.直观展示cpu堆的情况.你能够看到三条虚线,蓝色的代 ...

  7. GO入门——5. 函数

    1 函数 Go 函数 不支持 嵌套.重载和默认参数 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 无需声明原型 不定长度变参 func A(a string,c . ...

  8. vue框架之自定义组件中使用v-model

    通常 vue在html常见表单空间支持v-model双向绑定例如 <input v-model="message" placeholder="edit me&quo ...

  9. Andrew Ng机器学习课程笔记(二)之逻辑回归

    Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...

  10. JAR 介绍-百度百科

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件). J ...