React Native提示@expo-google-fonts/inter依赖包找不到如何解决
问题背景
React Native开发过程相关代码参考:React Native Code
运行时抛出如下报错:
@expo-google-fonts/inter could not be found within the project or in these directories: node_modules ..\..\..\..\node_modules
已执行过依赖安装操作但问题未解决,可按以下步骤逐一排查:
校验依赖安装路径正确性
先切到项目存放package.json的根目录,检查node_modules/@expo-google-fonts路径下是否存在inter文件夹。如果不存在,说明之前的安装命令执行目录不对,在当前根目录重新执行对应包管理器的安装命令即可:- npm 用户:
npm install @expo-google-fonts/inter - yarn 用户:
yarn add @expo-google-fonts/inter - pnpm 用户:
pnpm add @expo-google-fonts/inter
- npm 用户:
清理缓存重装依赖
如果inter文件夹实际存在但仍报错,属于依赖链接或构建缓存异常,按以下顺序操作:- 删除项目根目录下的
node_modules文件夹,同时删除对应包管理器的锁文件:npm对应package-lock.json、yarn对应yarn.lock、pnpm对应pnpm-lock.yaml - 重新执行依赖安装命令装全量依赖
- 清缓存启动项目:Expo托管项目执行
npx expo start -c启动,裸React Native项目执行npx react-native start --reset-cache启动
- 删除项目根目录下的
校验代码导入语句
检查代码中对该包的导入是否存在拼写错误,标准导入格式参考:import { useFonts, Inter_900Black } from '@expo-google-fonts/inter';常见错误包括包名少写s(写成
@expo-google-font/inter)、字体名大小写写错、路径多写多余层级。monorepo架构专项排查
从报错信息里向上查找四层node_modules的逻辑来看,如果你的项目是monorepo结构,需要检查workspace配置:确认当前子项目的依赖声明里包含@expo-google-fonts/inter,不要只把包装在仓库根目录但子项目未声明依赖,同时检查包管理器的node_modules链接规则是否配置正确。可以直接在子项目目录下单独执行一次该包的安装命令,确保包能被子项目正确识别。版本兼容性校验
如果项目使用的Expo SDK版本过旧,和最新版@expo-google-fonts/inter不兼容也会报找不到包的错误,可以安装和当前SDK版本匹配的字体包版本,比如SDK 49可指定安装0.2.x版本:npm install @expo-google-fonts/inter@^0.2.3,对应匹配版本可根据自身使用的Expo SDK版本对照包发布记录选择。
内容的提问来源于stack exchange,提问作者kofi-py

