【问题标题】:Clean react native project清洁反应原生项目
【发布时间】:2017-12-29 07:19:50
【问题描述】:

如何清理 react 原生项目?

有什么办法可以像清理 xcode 项目一样清理 react 原生项目吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: react-native code-cleanup


    【解决方案1】:

    一个 react-native 项目大约是一个 XCode 项目 和一个 Android 项目。 (对于纯js代码,不需要做clean)

    所以,你需要的是

    使用

    清理 XCode 项目
    cd ios
    xcodebuild clean
    

    然后用

    清理Android项目
    cd android
    ./gradlew clean
    

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

    【讨论】:

    • 就其价值而言,单独的“xcodebuild clean”不适用于我使用工作区文件的 iOS 项目。在这种情况下,我不得不使用 ...xcodebuild clean -workspace [*.xcworkspace file] -scheme [project name] 如果您不知道您的文件名/方案,只需在运行正常构建时查看终端中的前几行输出行。它会说:info Found Xcode workspace "x.xcworkspace"info Building (using "xcodebuild -workspace [etc] 第二行,从那里使用 -workspace 和 -scheme 信息。干杯
    【解决方案2】:

    对于安卓项目

    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../之间加一个空格
    • 你在 iOS 的第一行忘记了 clean
    【解决方案3】:

    适用于安卓

    cd android
    gradlew clean
    

    IOS

    cd ios
    xcodebuild clean
    

    【讨论】:

    • 当我使用gradlew clean 命令清理缓存时,出现错误:gradlew : The term 'gradlew' is not recognized as the name of a cmdlet 为什么?
    • @KhalilShakeri 你 cd 到 android 了吗?
    • 您能否通过检查版本确认您已安装 gradle。使用cd android/gradlew -v
    • @Oluwasayo 找不到路径E:\Projects\ReactNative\TextAnalyser\android\android\gradlew' because it does not exist
    • 在代码编辑器中查看项目的源代码,你的 android 文件夹中是否看到了一个 gradlew 文件?
    【解决方案4】:

    删除节点模块和

    npm ci
    
    react-native link
    

    紧随其后

    react-native start --reset-cache
    

    【讨论】:

      【解决方案5】:

      我在 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
      

      【讨论】:

        【解决方案6】:

        React Native clean-project 现在是处理 react-native 工件和清理的最佳和最简单的方法。由于是 react-native 自动检测到的,所以在 react-native 中成为自己的命令。

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

        【讨论】:

          【解决方案7】:

          要重置 react-native 特定的缓存,运行:

          npm start -- --reset-cache
          

          如果你在 package.json 中有

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

          【讨论】:

            【解决方案8】:

            此脚本将清理 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 管理器,然后单击所选模拟器上的下拉菜单并单击擦除数据。

            【讨论】:

              【解决方案9】:

              Reactnode 特定清理:

              删除node_modules 以避免可能很少出现的不一致:

              rm -rf node_modules
              

              (如果需要,请使用 npmyarn 重新安装)

              如果使用npm,则清理npm 缓存

              npm cache clean
              

              清理反应临时文件:

              rm -rf $TMP/react*
              

              【讨论】:

                【解决方案10】:

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

                cd android/
                gradlew clean
                

                【讨论】:

                  【解决方案11】:

                  更有用的清洁脚本。根据其他出色的答案,将模块清理和本机清理分开:

                  "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 ..",
                      }
                  

                  【讨论】:

                    【解决方案12】:

                    删除安卓文件夹 运行

                    react-native upgrade
                    

                    然后

                    react-native run-android
                    

                    【讨论】:

                    • 如果您在 android 项目中进行任何自定义,它可能会破坏您的项目
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-12-29
                    • 2020-05-28
                    • 2017-06-06
                    • 1970-01-01
                    • 2022-06-16
                    • 2019-11-19
                    • 1970-01-01
                    相关资源
                    最近更新 更多