【问题标题】:react-native: command not foundreact-native:找不到命令
【发布时间】:2016-09-08 09:58:41
【问题描述】:

我在创建 react-native 项目时收到 -bash: react-native: command not found error

以下是附加信息

1. brew --version
   homebrew 0.9.9
2  brew info watchman
   watchman `enter code here`stable 4.50
   /usr/local/Cellar/watchman/4.4.0
3. brew info flow
   stable 0.24.1
   /usr/local/Cellar/flow/0.24.1
4. brew info node
   stable 6.1.0
   /usr/local/Cellar/node/6.1.0
5. npm -version
   3.8.6
6. echo $PATH
/Users/Ashok/.rbenv/shims:/Users/Ashok/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

我尝试了 this link 的建议步骤,但仍然遇到同样的错误。

我没有他们在解决方案中指定的任何“npm”目录

Ashoks-MacBook-Pro:share Ashok$ ls
aclocal     doc     info        ruby-build  zsh
autoconf    emacs       man     systemtap

但我发现 npm 文件存在于以下位置。

/usr/local/Cellar/node/6.1.0/etc/bash_completion.d

我卸载了 react-native 并重新安装了它,但我仍然面临同样的问题。

【问题讨论】:

  • 你试过npm i -g react-native-cli而不是npm i -g react-native吗?
  • 我正在使用“sudo npm install -g react-native-cli”
  • 嗯.. 不确定但也许检查这个线程stackoverflow.com/questions/33282545/…
  • 正如他们指定的那样,我必须在我的 PATH 变量中添加 /usr/local/share/npm/bin 。但我在 /usr/local/share 中没有任何 npm 目录。谢谢@NaderDabit
  • 当我运行 npm config --global get prefix 时,我可以在这个位置看到 npm 目录 -> /usr/local/Cellar/node/6.1.0/libexec/npm。我已将其添加到 PATH 变量中。执行react-native init someApp 命令还是一样的错误:-(

标签: android ios react-native


【解决方案1】:

在PATH变量添加正确路径后问题解决了。

以下是找到正确路径的步骤。

1. Enter: npm install -g react-native-cli
output: /usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native ->/usr/local/Cellar/node/6.1.0/libexec/npm/lib/node_modules/react-native-cli/index.js/usr/local/Cellar/node/6.1.0/libexec/npm/lib
└── react-native-cli@0.2.0 

从上面的输出你可以清楚地看到路径:/usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native

export PATH="/usr/local/Cellar/node/6.1.0/libexec/npm/bin:$PATH"

react-native init appName

cd appName

react-native run-ios

如果您在此阶段遇到 xcrun: error: unable to find utility "simctl",您可以使用以下步骤解决

XCode -> 首选项 -> 位置 -> 命令行工具 -> 选择 Xcode 7.2.1

您可以从xcrun unable to find simctl找到原始解决方案

感谢@fbozo

就是这样!!!

【讨论】:

  • npm 中没有 bin 文件夹!?
  • 它没有永久解决。但是打开新终端后,同样的问题正在发生。如何永久解决此问题?
  • 如果您不使用 sudo 安装 npm 模块,这将不起作用。有关修复,请参阅 stackoverflow.com/a/49124013/280795
  • 就我而言,我已经用 NVM 更改了我的默认节点版本,并且忘记为这个新的节点版本再次安装 react-native。谢谢!
【解决方案2】:

有同样的问题,但你的方法有一半对我不起作用。 我按照您的方式选择了路径:从 react-native-cli instal 的输出,但随后在 ect/pathes 中手动写入:

sudo nano /etc/paths

最后,我添加了输出路径,然后按 ctrl x 和 y 保存。 只有这种方式有效,但非常感谢您提供的线索!

【讨论】:

    【解决方案3】:

    我遇到了这个问题,有点傻。我使用 nvm 管理不同版本的节点,并将 react-native 安装到不是我默认的节点版本中。打开一个新的外壳后,我失去了我的命令。 :) 切换回来当然可以解决问题。

    【讨论】:

    • 或者只是重新全局安装。嗬嗬,简单。 $ npm i -g react-native-cli
    【解决方案4】:

    在不断遇到这个问题,并点击这个答案并且没有让它工作之后..

    假设您不以 root/sudo 身份运行 npm(您不应该这样做!)您的 npm 模块将安装在 whatever you set your default directory to be 中。

    假设您已按照这些说明进行操作,并且您的默认目录是 ~/.npm-global,那么您需要将 ~/.npm-global/bin 添加到您的路径中。

    这些说明中对此进行了概述,但对我来说,我将其添加到 .bashrc:

    export PATH=$PATH:$HOME/.npm-global/bin
    

    然后重新启动你的shell,它就会工作。

    【讨论】:

    • 在厌倦了尝试几乎数百种解决方案后,这对我的案例很有魅力,我的问题实际上是当我关闭终端并重新启动时,找不到 react-native 命令。
    【解决方案5】:

    如果由于某些奇怪的原因,react-native 的路径不在PATH 中,您应该注意react-native 可执行文件的安装位置。通常,command not found 的问题是因为它们不在PATH 中。

    例如,我使用nodenv 并运行npm install -g react-native

    /Users/khoa/.nodenv/versions/10.10.0/bin/react-native -> /Users/khoa/.nodenv/versions/10.10.0/lib/node_modules/react-native/local-cli/wrong-react-native.js
    

    所以我需要将它添加到我的PATH

    export PATH=$HOME/.nodenv/versions/10.10.0/bin:$PATH

    您可以通过echo $PATH进行验证

    或者你可以使用npx来执行本地npm模块,例如

    npx react-native run-ios --simulator='iPhone X'
    

    【讨论】:

      【解决方案6】:

      运行这段代码

      npm i -g react-native-cli
      

      关闭你的 cmd 并再次打开它

      【讨论】:

      • 这个建议没有解决我的问题。
      • 我按照说明进行操作,但没有成功。但后来我也不得不运行npm install close open 并且它起作用了。
      【解决方案7】:

      首先在你的终端上运行这个命令。

      npm i -g react-native-cli
      

      然后通过这个命令创建你的 react-native 项目。

      React-native init Project name
      

      然后通过 cd 命令移动到你的项目目录。

      【讨论】:

        【解决方案8】:

        如果有人遇到这个问题,我遇到了与 qix 类似的问题,但更细微。

        新的 shell 终端将默认使用不同版本的节点。 我会将我的终端更改为我想要的节点,但是当捆绑脚本运行时,它在一个新的 shell 中运行,并且它获得了没有安装 react-native 的默认版本。

        我使用了nvm alias default x.x.x,以便新的 shell 继承我想要的默认版本。

        【讨论】:

          【解决方案9】:

          安装react-native-clinpm install -g react-native-cli。 您可能需要像 sudo npm install -g react-native-cli 一样使用 sudo

          【讨论】:

            【解决方案10】:

            如果谁有错误,用sudo试试:

            sudo npm install -g react-native-cli

            【讨论】:

              【解决方案11】:

              尝试使用 react-native --help 看看会发生什么。试试卷曲

              react 原生库推荐:

              如果您收到类似找不到模块“npmlog”的错误,请尝试直接安装 npm: curl -0 -L https://npmjs.org/install.sh |须藤sh。

              https://facebook.github.io/react-native/docs/getting-started.html

              【讨论】:

              • 原来的问题是找不到'react-native'命令。也无法运行 react-native --help
              • 我忽略了你在按照 Facebook 官方文档中的步骤安装 React Native 时出错的事实,因为我认为你不是初学者。既然我确定你是初学者,我可以更好地帮助你
              【解决方案12】:

              这真的很奇怪,在我这一边(macOS 10.14),我很确定我的节点和 npm 工作,但我一直得到命令不是仅针对这个特定包找到的。我最终做了以下事情:

              • 安装react-native-debugger
              • 确保启用了远程 JS 调试,docs
              • 运行 react-native-debugger
              • 运行您的 RN 应用程序

              您现在可以在 react-native-debugger 中调试视图层次结构并查看控制台日志

              【讨论】:

                【解决方案13】:
                /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
                brew install yarn
                brew install node
                brew install watchman
                brew tap AdoptOpenJDK/openjdk
                brew cask install adoptopenjdk8
                npm install -g react-native-cli
                

                【讨论】:

                • 为什么我们需要安装这么多东西来解决这么少的问题?例如:对蚁群使用核武器。
                【解决方案14】:

                根据官方文档,以下命令对我有用。

                • npx react-native run-android

                链接在这里

                我试图通过“react-native run-android”命令运行。确保全局安装 react-native cli!

                【讨论】:

                  【解决方案15】:

                  如果您使用的是 yarn,您可能需要运行前面带有 yarn 的命令。示例:

                  yarn react-native info
                  

                  【讨论】:

                    【解决方案16】:

                    亲爱的,

                    请尝试:npm install -g react-native-cli

                    如果你得到一个错误,比如找不到模块‘npmlog’,你可以使用这个命令直接安装 npm。如果上述命令运行成功则无需运行该命令

                    卷曲 -0 -L https://npmjs.org/install.sh |须藤sh

                    #For_Ubuntu

                    最好的问候。

                    【讨论】:

                      【解决方案17】:

                      只需使用以下命令安装 react-native CLI。

                      sudo npm i -g react-native-cli
                      

                      如果您使用的是 yarn,请重新打开终端并输入以下命令。

                      yarn react-native info
                      

                      【讨论】:

                        【解决方案18】:

                        在cmd管理模式下,运行

                        npm install react-native-cli

                        【讨论】:

                        • 你写的命令已经被提问者使用过,问题与命令无关。因此,请在给出答案之前查看与该问题的解决方案和想法相关的完整讨论。
                        【解决方案19】:

                        使用以下命令全局安装 react-native

                        npm i -g react-native-cli
                        

                        【讨论】:

                          【解决方案20】:

                          试试

                          npx react-native
                          

                          如果不起作用,则全局安装

                          npm i -g react-native-cli
                          

                          【讨论】:

                          • npx react-native 为我工作,谢谢。
                          【解决方案21】:

                          我进行了一次 npm 更新,遇到了同样的错误,但在执行 npm 安装并重新构建应用程序之后,该应用程序工作正常!

                          【讨论】:

                          • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                          猜你喜欢
                          • 2019-10-15
                          • 2021-08-05
                          • 2023-03-04
                          • 2019-09-23
                          • 2019-09-04
                          • 1970-01-01
                          • 2017-02-02
                          • 2023-03-10
                          相关资源
                          最近更新 更多