执行npx react-native link命令无响应,React Native自定义字体添加失败求助
npx react-native link无输出的问题 你遇到的这个问题核心原因其实和React Native的版本迭代直接相关——从React Native 0.60版本开始,官方已经废弃了react-native link命令,转而启用Auto-linking(自动链接)机制。所以在新版本项目里执行这条命令时,它不会产生任何输出、直接回到命令行提示符是正常现象,但这也意味着你的自定义字体并没有被正确配置。
下面分两种场景给你对应的解决方案:
一、如果你的React Native版本是0.60+(当前主流版本)
这种情况下完全不需要再用link命令,按以下步骤配置自定义字体即可:
存放字体文件
在项目根目录创建assets/fonts文件夹,将你的自定义字体文件(.ttf/.otf格式)放入其中,注意文件名尽量避免空格、特殊字符。添加资源配置文件
在项目根目录新建react-native.config.js文件,写入以下内容,用来告诉React Native自动识别字体资源路径:module.exports = { assets: ['./assets/fonts'], };执行资源链接命令
运行以下命令完成字体的自动配置,执行成功后会在控制台看到字体链接的相关日志:npx react-native assets验证字体生效
在代码中直接使用字体的实际名称(注意:是字体本身的名称,不一定等于文件名,比如Roboto-Regular.ttf的字体名称可能是Roboto):<Text style={{ fontFamily: 'Roboto' }}>测试自定义字体显示效果</Text>
二、如果你的React Native版本低于0.60(不推荐,建议升级)
若使用的是旧版本,react-native link无输出大概率是配置错误导致的,可按以下步骤排查:
检查
package.json配置
在package.json文件末尾添加rnpm配置项,指定字体存放路径:"rnpm": { "assets": ["./assets/fonts"] }确认路径与文件正确性
确保字体文件确实存放在./assets/fonts路径下,且文件未损坏、格式正确。重新执行链接并清除缓存
先运行链接命令:npx react-native link如果仍无输出,尝试清除项目缓存后再重试:
npx react-native start --reset-cache
额外排查小技巧
- 检查命令拼写:确保输入的是
npx react-native link,没有打错单词; - 确认依赖完整:先运行
npm install或yarn install,确保项目依赖安装齐全后再操作。
内容的提问来源于stack exchange,提问作者amir

