无法正常使用YouCompleteMe:多个下游安装问题排查求助
解决思路
1. 优先绕开watchdog编译报错
该报错的根本原因是你使用的gcc-10不支持苹果clang特有的警告参数,watchdog的构建脚本默认适配的是MacOS自带的clang编译器。你可以直接跳过watchdog模块编译,该模块仅用于自动监测配置文件变更重启ycmd服务,不影响核心补全功能:
进入YCM安装目录后执行以下命令:
python3 install.py --all --no-watchdog
如果不需要全语言支持,可把--all替换为你需要的语言参数比如--ts-completer --java-completer,仅使用Python补全功能的话不需要额外参数,直接执行python3 install.py --no-watchdog即可。
2. 修复Python3.9补全失效问题
如果重装后仍出现Python3.9补全异常,可手动补全缺失的语法文件:
- 找到parso语法文件存放路径:
~/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/jedi/third_party/parso/parso/grammar/ - 手动创建
grammar39.txt文件,填入对应版本的parso语法文件内容即可,重启Vim后Python3.9语法解析即可恢复正常。
3. 替代方案(如上述方法无效)
如果你坚持要编译watchdog模块,可切换编译器为系统适配的clang:
- 先确认你已升级Xcode Command Line Tools到适配MacOS 10.14的最新版本,执行
xcode-select --install完成更新 - 编译前指定编译器为clang:
export CC=/usr/bin/clang export CXX=/usr/bin/clang++ python3 install.py --all
- 若系统自带clang仍不支持C++17,可通过homebrew安装llvm,再指定对应clang路径即可。
- 如果你尝试所有方法都编译失败,大概率是最新版YCM已不再适配MacOS 10.14旧系统,可回滚YCM到v2022.08.15及更早的tag版本,该版本仍兼容10.14系统且支持Python3.9补全。
内容的提问来源于stack exchange,提问作者bgenchel
相关产品推荐
相关产品推荐

