You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro升级Neovim 0.7.2-2后报E970无法加载不兼容字节码错误

故障根因

vim/_init_packages.lua: cannot load incompatible bytecode 伴随E970: Failed to initialize builtin lua modules报错,本质是Neovim二进制和加载的Lua字节码版本不匹配,在Manjaro环境下触发该问题的常见诱因:

  • 此前手动将下载的预编译包、自行编译的Neovim安装到/usr/local路径,与pacman安装的系统版Neovim文件混存,程序启动时加载了跨版本的内置模块
  • 用户目录下残留旧版本Neovim生成的预编译Lua字节码缓存,新版本LuaJIT无法识别旧格式字节码

常规pacman卸载重装不会清理手动部署的系统级残留,也不会触碰用户目录下的缓存文件,因此重复安装无法解决问题。

修复步骤

按顺序执行以下操作即可解决:

  1. 卸载包管理器安装的Neovim,移除所有相关依赖
    sudo pacman -Rns neovim
    
  2. 删除手动部署在系统路径的Neovim残留文件
    sudo rm -rf /usr/local/bin/nvim /usr/local/share/nvim /usr/local/lib/nvim
    
  3. 清空用户目录下所有Neovim缓存、状态数据,这一步会删除旧版本留存的不兼容字节码
    rm -rf ~/.cache/nvim ~/.local/share/nvim ~/.local/state/nvim
    
  4. 刷新Shell命令路径缓存,避免命中已删除的旧二进制文件
    hash -r
    
  5. 同步系统软件源后重新安装官方源维护的Neovim包,不建议同时混装源版本和独立发布包
    sudo pacman -Syu neovim
    
  6. 执行版本校验命令,确认启动正常
    nvim -v
    

若确实需要使用官方发布的预编译版本,提前卸载pacman源的Neovim后,将二进制文件放置到~/.local/bin用户级路径即可,不要部署到/usr/local系统路径,避免后续版本冲突。

内容的提问来源于stack exchange,提问作者Alistercry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 12:36:27