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

执行npx expo start启动Expo项目时触发Invariant Violation报错求助

错误详情

Invariant Violation: expected symlink targets to be populated
at invariant (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\invariant\invariant.js:40:15)
at TreeFS.bulkAddOrModify (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro-file-map\src\lib\TreeFS.js:257:32)
at HasteMap._applyFileDelta (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro-file-map\src\index.js:691:16)
at async C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro-file-map\src\index.js:327:9
at async DependencyGraph.ready (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro\src\node-haste\DependencyGraph.js:95:5)
at async Bundler.ready (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro\src\Bundler.js:69:5)
at async IncrementalBundler.ready (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro\src\IncrementalBundler.js:289:5)
at async Server.ready (C:\Users\bujda\OneDrive\Dokumenty\rect\reactnative\ShoppingList\node_modules\metro\src\Server.js:1085:5) {
framesToPop: 1
}

可行解决步骤

  • 清理缓存重启
    执行命令彻底清除Metro和Expo缓存:

    npx expo start --clear
    

    若无效,手动删除Windows缓存目录:%LOCALAPPDATA%\Expo\ 和 %LOCALAPPDATA%\Temp\metro-cache,再重启项目。

  • 迁移项目路径
    项目存放在OneDrive同步目录可能引发文件权限或符号链接异常,将项目移至本地非同步目录(如C:\Projects\ShoppingList),然后重装依赖:

    rm -rf node_modules package-lock.json yarn.lock
    npm install
    
  • 修复依赖符号链接
    重新生成node_modules中的有效符号链接:

    npm rebuild
    

    用Yarn的话执行:

    yarn install --force
    
  • 调整Metro配置
    在项目根目录创建/修改metro.config.js,添加符号链接支持:

    const { getDefaultConfig } = require('@expo/metro-config');
    const config = getDefaultConfig(__dirname);
    
    config.resolver.unstable_enableSymlinks = true;
    config.watchFolders = [__dirname];
    
    module.exports = config;
    

    保存后重新启动项目。

  • 降级Metro依赖
    若为版本兼容性问题,尝试降级到稳定版(版本号需匹配你的Expo SDK版本):

    npm install metro@0.76.8 metro-file-map@0.76.8 --save-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 15:46:20