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

运行npx expo start --clear时出现.ts文件扩展名未知的TypeError错误求助

运行npx expo start --clear时出现.ts文件扩展名未知的TypeError错误求助

看起来你在启动Expo项目时碰到了一个挺闹心的错误——Node.js识别不了expo-modules-core里的.ts文件扩展名,我来给你分享几个经过验证的解决思路,应该能帮你搞定:

先明确下你遇到的错误场景

你执行npx expo start --clear后触发的错误日志如下:

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\amine\student\node_modules\expo-modules-core\src\index.ts
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:219:9)
    at defaultGetFormat (node:internal/modules/esm/get_format:245:36)
    at defaultLoadSync (node:internal/modules/esm/load:177:14)
    at #loadAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:815:12)
    at #loadSync (node:internal/modules/esm/loader:837:49)
    at ModuleLoader.getModuleJobForRequire (node:internal/modules/esm/loader:476:38)
    at new ModuleJobSync (node:internal/modules/esm/module_job:344:34)
    at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:424:11)
    at loadESMFromCJS (node:internal/modules/cjs/loader:1561:24)
    at Module._compile (node:internal/modules/cjs/loader:1712:5)

具体解决办法

  • 第一步:检查Node.js版本是否兼容
    Expo的不同SDK版本对Node.js版本有明确要求,比如SDK 49+推荐用Node.js 18.x或20.x的LTS版本。你可以先在终端输入node -v查看当前版本,如果版本过低(比如16.x及以下),很容易出现这类依赖编译的问题。
    建议用nvm(Node版本管理器)来切换到兼容的LTS版本,避免全局升级带来的其他问题。

  • 第二步:彻底清理依赖并重装
    依赖缓存或安装不完整是这类问题的常见诱因,按以下步骤操作:

    1. 删除项目根目录下的node_modules文件夹(Windows终端输入rmdir /s /q node_modules,Mac/Linux用rm -rf node_modules)
    2. 删除package-lock.json(如果用npm)或yarn.lock(如果用yarn)文件
    3. 重新安装依赖:npm install(或yarn install)
    4. 再次尝试启动项目:npx expo start --clear
  • 第三步:确保Expo SDK与expo-modules-core版本兼容
    这个错误大概率是expo-modules-core的版本和你项目的Expo SDK版本不匹配导致的——依赖库没有被正确编译成JS,导致Node.js直接读到了TS源文件。
    你可以打开package.json查看expo和expo-modules-core的版本,然后:

    • 运行npx expo upgrade将Expo SDK升级到最新稳定版,它会自动同步更新所有兼容的依赖
    • 或者手动安装和SDK匹配的expo-modules-core版本,比如npm install expo-modules-core@<对应版本>
  • 第四步:调整TypeScript配置跳过库检查
    给tsconfig.json添加skipLibCheck配置,让TypeScript跳过对第三方依赖库的类型检查,避免Node.js去解析依赖里的TS文件:
    在compilerOptions里添加:

    "skipLibCheck": true
    
  • 第五步:尝试本地安装Expo CLI
    全局的Expo CLI可能存在版本冲突,尝试在项目本地安装最新的Expo CLI:

    npm install --save-dev expo-cli
    

    之后再用npx expo start --clear启动,npx会优先使用项目本地的CLI版本。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 08:32:59