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

启动项目时pinia依赖vue-demi导出hasInjectionContext报错求解决

解决 "hasInjectionContext" is not exported by vue-demi 的报错

核心原因

该报错源于pinia 2.0.36 依赖的 vue-demi 版本与当前项目安装的 vue-demi 版本不兼容:pinia 2.0.36 需要 vue-demi 提供 hasInjectionContext 导出,但你当前的 vue-demi 版本不包含这个导出项。

具体解决步骤

  • 锁定兼容的 vue-demi 版本
    pinia 2.0.36 对应的 vue-demi 最低兼容版本为 0.14.5,先卸载现有版本再安装指定版本:

    # 使用 npm
    npm uninstall vue-demi
    npm install vue-demi@0.14.5 --save
    
    # 使用 yarn
    yarn remove vue-demi
    yarn add vue-demi@0.14.5
    
  • 清理缓存并重装依赖
    缓存可能导致依赖版本不生效,执行以下命令彻底重置依赖:

    # npm 环境
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
    # yarn 环境
    yarn cache clean
    rm -rf node_modules yarn.lock
    yarn install
    
  • 检查并升级 Vue 版本
    pinia 2.x 要求 Vue 版本为 3.2.0+ 或 Vue 2.7+,若你的 Vue 版本低于该范围,先完成升级:

    # 升级 Vue 3 到最新版
    npm install vue@latest
    
    # 升级 Vue 2 到 2.7.x 兼容版
    npm install vue@2.7.14
    
  • 验证依赖版本
    安装完成后,查看 package.json 确认:

    • pinia 版本为 2.0.36
    • vue-demi 版本为 0.14.5 及以上
    • Vue 版本符合兼容要求

额外排查点

若上述步骤无效,用 npm ls vue-demi 或 yarn list vue-demi 查看项目依赖树,排查是否有其他依赖强制锁定了 vue-demi 的低版本,找到后针对性调整该依赖的版本规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:33:10