从源码编译Vim时执行./configure报错auto/configure未找到
解决Vim编译时
auto/configure not found的问题 我在Ubuntu环境下编译Vim的时候也踩过类似的坑,结合你的情况(Ubuntu 17.10 + zsh),给你列几个可能的原因和对应的解决办法:
1. 检查auto/configure的执行权限
虽然你说文件存在,但Linux里有个常见的迷惑性错误:如果文件没有可执行权限,脚本调用时也会报“not found”。执行下面的命令给它加上权限:
chmod +x src/auto/configure
之后重新运行根目录的./configure试试。
2. 补全Git子模块
Vim的Git仓库里部分组件是以子模块形式存在的,如果你克隆时没加--recurse-submodules参数,可能导致auto目录下的文件不完整或损坏。补全子模块的命令:
git submodule update --init --recursive
完成后再重新执行配置流程。
3. 排查zsh的别名/环境变量干扰
有时候zsh的自定义别名或环境变量会干扰脚本执行逻辑,比如不小心把configure别名为了其他命令。你可以临时切换到bash测试:
bash ./configure
如果bash下能正常运行,说明是zsh配置的问题,去检查~/.zshrc里有没有相关冲突的配置。
4. 先运行autogen.sh生成完整配置脚本
从Git仓库直接克隆的Vim源码,往往需要先运行根目录的autogen.sh来生成/更新配置相关脚本,确保所有依赖的配置文件都处于可用状态:
./autogen.sh
执行完这个脚本后,再重新运行./configure。
5. 检查文件系统挂载权限(少见但可能)
如果你的源码目录挂载在不支持可执行权限的文件系统上(比如某些Windows格式分区),即使文件存在也无法执行。可以把源码目录移到Ubuntu原生文件系统分区(比如/home目录下)再尝试编译。
内容的提问来源于stack exchange,提问作者glS
相关产品推荐
相关产品推荐

