没有root权限的情况下安装vim

Problem

最近工作中遇到个问题,就是开发是在服务器上,没有desktop没有UI的那种,想来想去也就只能用vim了。
但是服务器上的vim版本比较低,一些插件都安装不了。想更新vim呢,又没有root权限,不能直接升级软件包。
看来只能走源码编译这条路了。但是还有个问题,就是vim编译所需的环境,也得源码编译。
好在找到了一篇博客,详细介绍了这个方法,我就引用过来,做个记录了。
原文:Install vim without sudo access

Solution

1. 下载 ncurses 源码并编译安装

这是编译vim所必需的。
先下载源码:

$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.2.tar.gz

这里下载的是6.2版本,实际上可能已经又更新的版本发布了,可以去 http://ftp.gnu.org/pub/gnu/ncurses/ 这里查看一下。
然后解包,进入源码目录。

tar -xvf ncurses-6.1.tar.gz
cd ncurses-6.1

接下来编译。由于我没有root权限,因此需要将这个软件包安装在自己的用户目录下。所以用configure来指定安装目录。

$ ./configure --prefix=$HOME/usr/local
$ make -j
$ make install 

2. 新增库路径

我们需要把刚才的用户目录下的安装路径,添加到系统环境变量中,否则编译vim时将找不到刚刚安装好的ncurses。
用任意编辑器打开~/.bashrc,然后添加如下语句:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/usr/local/lib

使之生效:

$ source ~/.bashrc

3. 下载 vim 源码并编译安装

首先下载(需要安装有 git):

$ git clone https://github.com/vim/vim.git

然后进入源码目录,先配置(configure)再编译安装。注意在configure的时候需要指定依赖库目录和编译好之后的安装目录:

$ cd vim
$ LDFLAGS=-L$HOME/usr/local/lib ./configure --prefix=$HOME/usr/local
$ make -j
$ make install

4. 替换系统vim

虽然此时vim已经编译安装了,但是系统的vim依然还在。我们需要指定一下使用vim的时候,到底用的是哪个vim
~/.bashrc中添加如下语句:

export PATH=\$PATH:\$HOME/usr/local/bin
alias vi=vim

使其生效:

$ source ~/.bashrc

到这里就已经安装好vim了。可以通过which vim指令来确定自己用的是哪个vim
Enjoy!

posted @ 2021-08-21 17:00  星夜之夏  阅读(1402)  评论(0编辑  收藏  举报