清理 React Native 项目

67

如何清理React Native项目?

是否有办法像我们可以清理Xcode项目一样清理React Native项目?

任何帮助将不胜感激!

12个回答

122
一个React Native项目包括一个XCode项目和一个Android项目。(对于纯JS代码,无需进行清除)
所以,您需要的是
使用Xcode清理项目。
cd ios
xcodebuild clean

然后使用 Android 项目进行清理

cd android
./gradlew clean

你可以简单地为它编写一个批处理文件。

1
说实话,对于我的iOS项目,“xcodebuild clean”单独使用并没有起作用,因为我在使用工作区文件。在这种情况下,我不得不使用...xcodebuild clean -workspace [*.xcworkspace文件] -scheme [项目名称]如果您不知道文件名/方案,请在运行正常构建时查看终端中的前几个输出行。它会说:info Found Xcode workspace "x.xcworkspace" info Building (using "xcodebuild -workspace [etc]第二行,使用那里的 -workspace 和 -scheme 信息。干杯 - hschmied

65

对于 Android 项目

cd android &&./gradlew clean && cd ../

iOS 项目

cd ios && xcodebuild clean && cd ../
如果您需要反复清理构建,则可以像这样在 package.json 文件中添加此脚本。
scripts: { 
  "clean:android": "cd android && ./gradlew clean && cd ../",
  "clean:ios": "cd ios && xcodebuild clean && cd ../", 
}

然后运行安卓

yarn clean:android

并适用于iOS

yarn clean:ios

不要忘记在 cd../ 之间添加空格。 - Rob Walker
2
你在iOS的第一行忘记了清理。 - Benpaper

16

针对 Android

cd android
gradlew clean

适用于IOS

cd ios
xcodebuild clean

当我使用gradlew clean命令清除缓存时,出现了错误:gradlew:未将“gradlew”识别为cmdlet的名称,为什么? - Beny Sad
@KhalilShakeri 你进入了安卓吗? - Sayo Babalola
您可以通过检查版本来确认您是否已安装gradle。请使用 cd android/gradlew -v 命令。 - Sayo Babalola
@ Oluwasayo 找不到路径 E:\Projects\ReactNative\TextAnalyser\android\android\gradlew,因为它不存在。 - Beny Sad
在您的代码编辑器中查看项目源代码,您是否在Android文件夹中看到gradlew文件? - Sayo Babalola
显示剩余2条评论

5

删除节点模块和

npm ci

react-native link

跟随着
react-native start --reset-cache

4

React Native clean-project 是目前处理 React Native 构件和清理的最佳最简易方法。由于它被 React Native 自动识别,因此它变成了 React Native 中自己的命令。

$ yarn add -D react-native-clean-project
$ react-native clean-project

4
更有用的更干净的脚本。 基于其他出色答案,将模块清理和本地清理分开:
"scripts": {
      "npm:clean": "rm -rf node_modules && npm cache clean && npm install"
      "yarn:clean": "rm -rf node_modules && yarn cache clean --force && yarn install"
      "android:clean": "cd android && ./gradlew clean && ./gradlew cleanBuildCache && cd ..",
      "ios:clean": "cd ios && xcodebuild clean && rm -rf ~/Library/Caches/CocoaPods && rm -rf Pods && rm -rf ~/Library/Developer/Xcode/DerivedData/* && pod cache clean --all && pod deintegrate && pod setup && pod install && cd ..",
    }

4
这个脚本将清理Android和IOS的编译缓存,然后删除节点模块和缓存,并重新安装React Native项目。
# rm -rf $HOME/.gradle/caches/
cd android && ./gradlew cleanBuildCache
cd ..
cd ios && pod cache clean --all && rm -rf build
cd ..
rm -rf node_modules
yarn cache clean --force
yarn install
cd ios && pod install

重置iOS模拟器并清除所有模拟器数据,请将焦点放在模拟器上,然后转到 硬件 -> 擦除所有内容和设置

要重置Android模拟器并擦除所有数据,请打开Android Studio,然后转到 菜单 工具 -> AVD Manager,然后点击所选模拟器的下拉菜单并单击“wipe data”。


2

我将以下脚本添加到了我的 package.json 文件中:

scripts: {
  ....
  "clean:android": "echo 'require(\"child_process\").execSync(\"cd android; ./gradlew clean\", {stdio: \"inherit\"})' | node ",
  "clean:ios": "echo 'require(\"child_process\").execSync(\"cd ios; xcodebuild clean\", {stdio: \"inherit\"})' | node ",
  "clean": "npm run clean:android && npm run clean:ios",
  ....
}

现在您可以 清理 Android
npm run clean:android

清理iOS

npm run clean:ios

清除双方。
npm run clean

2

要重置React Native特定的缓存,请运行以下命令:

npm start -- --reset-cache

如果在 package.json 文件中有以下代码:

"scripts": {
  "start": "node node_modules/react-native/local-cli/cli.js start"
}

0

使用以下命令清理 Android 项目:

cd android/
gradlew clean

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接