RN 0.69及以上版本执行npx react-native-asset命令失败求助
React Native 自定义字体链接报错:找不到react-native.config.js
问题详情
我已完成自定义字体的配置准备:
- 待链接字体存放于项目的
/assets/fonts/目录 react-native.config.js文件放置在项目根目录- 尝试过两种配置内容:
第一种配置:
module.exports = { project: { ios:{}, android:{} }, assets:['./assets/fonts/'], }
第二种配置:
module.exports = { assets: ['./assets/fonts'] }
参考过多份教程操作后,仍出现以下错误:
Error: Cannot find module '/Users/nicklanese/Documents/GitHub/TomAppDirectory/TomApp_iOS/react-native.config.js' Require stack: - /Users/nicklanese/.config/yarn/global/node_modules/react-native-asset/lib/cli.js
此前曾成功完成过相同操作,本次无法定位问题原因。
排查与解决步骤
确认文件与执行路径
- 检查
react-native.config.js的文件名拼写,确保没有大小写错误、多余后缀(如.jsx)或拼写失误 - 执行
react-native-asset命令时,必须处于项目根目录(即报错路径中的TomApp_iOS文件夹),而非父目录或子目录
- 检查
修复文件权限
若文件权限异常导致无法读取,执行以下命令修复:chmod 644 /Users/nicklanese/Documents/GitHub/TomAppDirectory/TomApp_iOS/react-native.config.js清除缓存并重新安装依赖
- 重置React Native缓存:
npx react-native start --reset-cache - 卸载并重新安装
react-native-asset:# Yarn yarn remove react-native-asset yarn add react-native-asset --dev # NPM npm uninstall react-native-asset npm install react-native-asset --save-dev
- 重置React Native缓存:
规避全局包版本冲突
报错显示使用的是全局安装的react-native-asset,可能与项目本地依赖版本不兼容:- 优先使用项目本地包执行命令:
npx react-native-asset - 或直接删除全局包:
yarn global remove react-native-asset
- 优先使用项目本地包执行命令:
验证文件实际存在性
通过终端命令确认文件是否真的在指定路径:ls /Users/nicklanese/Documents/GitHub/TomAppDirectory/TomApp_iOS/ | grep react-native.config.js若无输出,说明文件路径错误,需重新确认文件存放位置。
内容的提问来源于stack exchange,提问作者user18899735
相关产品推荐
相关产品推荐

