在react-native开发中,构建应用程序时会使用多个缓存:
我也错过了什么吗?因为我正在尝试清除react-native中的缓存,以便能够重复仅在首次使用时发生的错误。但清除上述缓存并没有帮助。这是在Android上。当应用程序构建时,大多数行都没有像预期的那样说“UP-TO-DATE”,因为我清除了缓存。
但是,仍有许多行打印此文本。像:
app:preBuild UP-TO-DATE
app:preDebugBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
问题是,如何清除与react-native开发相关的整个缓存?
答案 0 :(得分:20)
对于React Native Init方法(没有expo),请使用:
npm start -- --reset-cache
答案 1 :(得分:18)
最简单的一个(react native,npm和expo)
对于React Native
react-native start --reset-cache
对于npm
npm start -- --reset-cache
世博会
expo start -c
答案 2 :(得分:11)
清除React Native项目的缓存:
npm <6.0和RN <0.50:
watchman watch-del-all && rm -rf $TMPDIR/react-* &&
rm -rf node_modules/ && npm cache clean && npm install &&
npm start -- --reset-cache
npm> = 6.0,RN> = 0.50:
watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* &&
rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean --force &&
npm install && npm start -- --reset-cache
答案 3 :(得分:8)
对于那些正在使用expo-cli的人
expo start -c
答案 4 :(得分:3)
如果您使用的是WebStorm
,请按运行按钮左侧的配置选择下拉按钮,然后选择编辑配置:
双击Start React Native Bundler
部分底部的Before launch
:
在--reset-cache
部分输入Arguments
:
答案 5 :(得分:3)
目前使用npx
构建,需要更新。
终端:npx react-native start --reset-cache
IOS : Xcode -> Product -> Clean Build Folder
Android : Android Studio -> Build -> Clean Project
答案 6 :(得分:3)
以下命令适用于 Android 和 Yarn,
cd android && ./gradlew cleanBuildCache && cd .. &&
watchman watch-del-all && rm -rf node_modules/ &&
rm -rf $TMPDIR/react-native-packager-cache-* &&
rm -rf $TMPDIR/metro-bundler-cache-* &&
yarn cache clean && yarn install &&
yarn start --reset-cache
答案 7 :(得分:2)
在GitHub上的精彩讨论对我有很大帮助。 Clearing the Cache of your React Native Project由Jarret Moses
有4种不同实例的解决方案。
RN <0.50-
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache clean && npm install && npm start -- --reset-cache
RN> = 0.50-
watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* && rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean && npm install && npm start -- --reset-cache
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache verify && npm install && npm start -- --reset-cache
del %appdata%\Temp\react-native-* & cd android & gradlew clean & cd .. & del node_modules/ & npm cache clean --force & npm install & npm start -- --reset-cache
解决方案类似于Vikram Biwal's Answer.
在下面的给定链接中进行了讨论,因此即使以上4种情况都不适合您,您也可以滚动浏览并找到可能的解决方案。
答案 8 :(得分:1)
这对我有用:
watchman watch-del-all && rm -f yarn.lock && rm -rf node_modules && yarn && yarn start --reset-cache
答案 9 :(得分:1)
尝试
react-native start --reset-cache
答案 10 :(得分:1)
清除React Native项目的缓存: 如果您确定模块存在,请尝试以下步骤:
答案 11 :(得分:0)
您是否尝试过gradle cleanBuildCache?
https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache
答案 12 :(得分:0)
您可以在React Native> = 0.50和npm> 5中清除缓存:
watchman watch-del-all &&
rm -rf $TMPDIR/react-native-packager-cache-* &&
rm -rf $TMPDIR/metro-bundler-cache-* &&
rm -rf node_modules/
&& npm cache clean --force &&
npm install &&
npm start -- --reset-cache
除了清理npm缓存外,您可能还需要reset simulator or clean build等。
答案 13 :(得分:0)
我遇到了类似的问题,我试图清除所有可能的缓存(尝试了上面的几乎所有解决方案),而对我唯一有效的方法是杀死expo应用程序并重新启动它。
答案 14 :(得分:0)
我今天也谈到了这个问题。原因是很愚蠢的-vscode
自动从express-validator
导入了一些内容并引起了该错误。
只是提到这一点,以防万一有人完成了清除缓存/删除模块的所有步骤。