【问题标题】:React Native: Command `run-ios` unrecognizedReact Native:无法识别命令`run-ios`
【发布时间】:2016-07-07 06:32:14
【问题描述】:

我有两个不同的 ReactNative 项目:

  • a) 2016 年 1 月的一个项目
  • b) 一个全新的 react-native 项目 即日起(2016 年 3 月 20 日)

在新项目中,react-native 的 cli 工具包含命令“run-ios”下两个“run-android”,但在 2016 年 1 月的旧项目中没有。在旧项目中没有“run- ios”命令可用:

$ react-native run-ios
Command `run-ios` unrecognized
Usage: react-native <command>

我已经运行了“react-native upgrade”,没有任何问题。

如何在旧项目中也获得命令“run-ios”?

【问题讨论】:

  • 如果您像我一样尝试过npx react-native run-ios,请确保您确实在项目文件夹中..

标签: react-native


【解决方案1】:

只需使用以下命令更新项目中的 react native 版本即可:

$> npm install --save react-native@latest

【讨论】:

    【解决方案2】:

    导致我出现这种情况的原因是运行 npm install --save [package],而实际上系统之前一直使用 yarn 而不是 npm

    为了解决这个问题,我删除了node_modules 文件夹并运行:yarn install,之后react-native run-ios(或安卓)工作正常。

    【讨论】:

    • 遇到同样的 mf 问题 :D,为什么 yarn 与 npm 冲突?
    【解决方案3】:
     $ react-native run-ios
    

    如果您遇到这种错误:

    “无法识别命令 run-ios。确保您已运行 npm install 并且您位于 react-native 项目中”。

    在终端中,确保您位于 react-native 项目目录中。

    执行这个命令:

    $ react-native -v
    react-native-cli: 2.0.1
    react-native: n/a - not inside a React Native project directory
    $ npm update
    $ react-native -v
    react-native-cli: 2.0.1
    react-native: 0.44.0
    $ react-native run-ios
    

    【讨论】:

    • 在“React Native 项目目录”中是什么意思?它在寻找什么文件?
    • @PetrusTheron 在终端中,您应该位于创建项目的路径的根文件夹中。
    • 在 react-native 目录中为我做到了!我在ios。
    【解决方案4】:

    这可能听起来很傻,但请确保您 cd 到您的项目目录。如果失败,则在其他答案中执行 npm install。

    【讨论】:

      【解决方案5】:

      我找到了适合我的解决方案。 在你的项目中更新 react native 的版本:

      npm install --save react-native@latest 
      

      然后升级你的 npm 版本

      npm i npm@latest -g
      

      然后将目录文件夹向上移动 1 级,键入

      cd ..
      

      新建一个 react-native 安装文件夹

      react-native init NewProject
      

      然后转到您的项目文件夹(NewProject),然后

      react-native run-ios
      

      应该可以正常工作。

      【讨论】:

        【解决方案6】:

        当项目具有旧版本的 react native 时会发生这种情况。您可以更新 react 版本,或者对于不想升级的人,只需打开 iOS 目录中的 .xcodeproj 文件并点击 Xcode 中的播放按钮。

        【讨论】:

        • 你为什么要发布相同的答案?
        • @csomakk 答案也有第二部分。
        【解决方案7】:

        就我而言,这是 package.json 文件的问题。我在测试期间删除了一个部分。我用删除的部分恢复了以前的文件,一切都恢复了。

        【讨论】:

        • 啊哈,我在 package.json 中留下了一个逗号,这解决了问题!
        【解决方案8】:

        这对我有用

        sudo npm install -g react-native-cli --force 
        

        然后

        react-native run-ios
        

        【讨论】:

          【解决方案9】:

          我使用
          $ react-native init projectName创建了一个全新的 react-native 项目
          并从项目的根目录运行
          $ react-native run-ios
          一切正常,iOS 模拟器按预期启动。

          比我使用npm install prop-types --save 安装prop-types 节点模块。重新运行$ react-native run-ios,遇到了这个错误Command run-ios unrecognized

          解决方案: 从我的项目的根目录中,删除 node_module 并使用 npm 重新安装模块。下面的命令

          $ rm -rf node_modules/
          $ npm install
          $ react-native run-ios
          

          【讨论】:

            【解决方案10】:

            对我来说,Xcode 已经在运行了。

            关闭 Xcode,然后在终端中,确保您在 react-native 项目目录中,然后执行 react-native run-ios 命令

            【讨论】:

              【解决方案11】:

              对我来说,唯一有效的方法是从零开始再次签出我的存储库并运行:

              npm install -g react-native-cli yarn 
              yarn  
              git submodule update --init --recursive
              

              【讨论】:

                【解决方案12】:

                导致我出现这种情况的原因是运行 npm install --save axios,而实际上系统之前使用的是 yarn 而不是 npm

                为了解决这个问题,不要删除node_modules 文件夹,这可能会导致更多问题,如果您更喜欢运行npm 或者没有任何偏好,则应该为您指示错误运行npm install。如果您真的按照这些说明进行操作,您将能够运行:react-native run-ios

                【讨论】:

                  【解决方案13】:

                  我也陷入了这个错误,原因是
                  我在错误的文件夹中使用了yarn link 命令

                  【讨论】:

                    【解决方案14】:

                    删除节点模块。这是因为没有安装包。

                    rm -rf node_modules npm install

                    然后运行你的项目

                    react-native run-ios

                    【讨论】:

                      【解决方案15】:

                      在我的例子中,我使用 monorepo 与单个 repo 中的多个包。我解决了这个错误

                      • 删除packages/myapp/node_modules
                      • 从项目根目录运行yarn install。不在包裹内
                      • 已解决。现在可以运行yarn iosyarn android 命令

                      注意: 对于自动链接库,您需要将根 package.json 文件中的所有依赖项也复制到 packages/myapp/package.json 文件中。见https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-use-autolinking-in-a-monorepo

                      例子:

                      
                        "dependencies": {
                          "@react-native-community/datetimepicker": "^3.5.2",
                          "@react-native-community/masked-view": "^0.1.11",
                          "@react-navigation/native": "^5.9.4",
                          "@react-navigation/stack": "^5.14.5",
                          "@reduxjs/toolkit": "^1.6.0",
                          "@voximplant/react-native-foreground-service": "^2.0.0",
                          "axios": "^0.21.1",
                          "babel-eslint": "^10.0.3",
                          "eslint-config-airbnb": "^18.0.1",
                          "eslint-plugin-import": "^2.18.2",
                          ...
                          ...
                      

                      但请确保不要复制

                          "react-native-cli": "^any version",
                      

                      否则react-native-cli 会发生冲突,您将继续看到类似的错误

                      Command `run-android` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
                      error Command failed with exit code 1.
                      

                      Command `run-ios` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
                      error Command failed with exit code 1.
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 2016-10-03
                        • 1970-01-01
                        • 2017-11-21
                        • 1970-01-01
                        • 2022-12-19
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多