【Bug】CentOS 7 使用vim命令报错vim: command not found
问题描述
在CentOS7上使用vim命令编辑文件时,报错 bash: vim: command not found
问题分析
从报错 bash: vim: command not found
可知,系统里没安装 vim
编辑器,因此需要在CentOS 7上按照vim
问题解决过程
用 yum
包管理器安装,执行命令:
sudo yum install -y vim
运行命令,又报错如下图所示错误:
从报错 Cannot find a valid baseurl for repo: base/7/x86_64
来看,是系统的 YUM 仓库配置有问题,无法找到有效的基础仓库地址,导致无法安装 vim
,可按以下步骤排查解决:
-
检查网络连接
先确认虚拟机网络是否能正常访问外网,执行ping www.baidu.com
,如果无法 ping 通,排查虚拟机网络设置(如 NAT 模式 / 桥接模式是否正确、宿主机网络共享等 ),确保网络连通。
可以正常ping 通,网络连通。 -
检查 YUM 仓库配置
CentOS 7 系统的 YUM 仓库配置文件一般在/etc/yum.repos.d/
目录下,主要看CentOS-Base.repo
等基础仓库文件。
执行cat /etc/yum.repos.d/CentOS-Base.repo
,查看仓库地址(baseurl
)是否正确。正常的 CentOS 7 官方基础仓库地址类似http://mirror.centos.org/centos/7/os/$basearch/
,如果地址不对(比如因系统版本升级、镜像源失效等),就会找不到。 -
替换为可用的镜像源
如果官方源有问题,可替换为国内镜像源(如阿里云、网易等的 CentOS 7 镜像源 )。以替换为阿里云镜像源为例:
- 备份原仓库文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 下载阿里云的 CentOS 7 仓库配置文件:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果没装 wget ,可以换成下列命令
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 清理并更新 YUM 缓存
替换好仓库源后,执行以下命令清理旧缓存、生成新缓存:
yum clean all
yum makecache
- 重新尝试安装
vim
完成上述操作后,再次执行yum install -y vim
,一般就能正常安装了。