使用react-native-linear-gradient报BVLinearGradient未找到错误如何解决?
错误原因
该报错核心是react-native-linear-gradient的原生模块未成功集成到当前运行的APP原生工程中,与你编写的JS业务代码无关,常见触发场景分为两类:
- 若你使用Expo托管项目:
react-native-linear-gradient是包含原生实现的第三方包,Expo默认预制运行环境未集成该包,仅安装JS依赖就会触发该错误 - 若你使用React Native裸工程:
- React Native 0.60以下版本无自动链接能力,安装完JS包后未执行原生模块手动链接操作
- React Native 0.60及以上版本开启自动链接,但安装完包后未重新编译原生APP,或iOS端pod安装失败、安卓端gradle同步失败导致原生模块未被引入
解决方案
情况1:Expo托管项目
不要使用react-native-linear-gradient,改用Expo官方适配的expo-linear-gradient,操作步骤如下:
- 执行安装命令:
npx expo install expo-linear-gradient - 替换原有导入代码:将
import LinearGradient from "react-native-linear-gradient"改为import LinearGradient from 'expo-linear-gradient',该组件属性与原包完全兼容,无需修改业务代码 - 重启Expo开发服务即可生效
情况2:React Native裸工程(非Expo托管)
通用前置检查
确认已安装JS依赖,执行命令:
# npm用户 npm install react-native-linear-gradient # yarn用户 yarn add react-native-linear-gradient
按React Native版本处理
- 0.59及更低版本:手动执行链接命令
react-native link react-native-linear-gradient,之后分别重新编译安卓、iOS端APP - 0.60及更高版本:
- 安卓端:进入安卓工程目录执行
./gradlew clean,回到项目根目录重新运行npx react-native run-android - iOS端:进入ios目录执行
pod install,执行成功后回到项目根目录重新运行npx react-native run-ios
- 安卓端:进入安卓工程目录执行
异常修复
如果执行完上述操作仍报错,删除以下目录/文件后重新执行依赖安装和编译流程:
- 项目根目录的
node_modules文件夹 - iOS目录的
Pods文件夹、Podfile.lock文件 - 安卓目录的
build文件夹、app/build文件夹
内容的提问来源于stack exchange,提问作者Pulasthi Aberathne
相关产品推荐
相关产品推荐

