"react-native" 无法识别为内部或外部命令,可执行程序或批处理文件。

91

我最近开始学习React Native。我按照Facebook网站上的教程将其安装,一切都运行良好,直到过了一两天后出现了以下错误信息:

'react-native' is not recognized as an internal or external command,
operable program or batch file.

除了卸载所有东西并重新开始,没有任何办法可行。环境是正常的并且运行良好(npm、choco等)。我还尝试过从环境变量中删除和添加react-native,重启并以管理员模式运行cmd,但迄今为止什么都没有改变。值得一提的是,我使用的是64位的Windows 10。


45
通常情况下,运行npm install -g react-native-cli可以解决大部分问题。请记得重新启动命令提示符,以使react-native命令生效。 - impossible
重新启动命令提示符是关键。 - Mukesh Garg
6
安装完 npm install -g react-native-cli 后,别忘了重新启动命令行窗口。 - showtime
对我来说,问题不在于没有安装JDK,运行choco install -y nodejs.install openjdk8解决了这个问题。 - Robert Franklin
29个回答

148

我遇到了同样的问题,尝试了以下方法但没有解决:

  1. 将npm路径添加到我的环境变量中,包括系统和用户
  2. 重新安装npm和react-native-cli

这两个方法都没有对我起作用,我使用的是Windows 10;

对我有用的解决方案是全局安装react-native-cli。您可以使用以下命令进行全局安装:

npm install -g react-native-cli

47

你可以直接使用npx react-native <command>,它将可以正常工作。


1
很遗憾,这对我也不起作用。 - marines
2
请帮助我理解npx的神奇作用,以及它如何使得react-native命令开始工作? - Narendra Chandratre
@NarendraChandratre npx只是一个包执行器,因此npx react-native run-ios允许您在不下载整个cli的情况下使用react-native。 - wongz

11

npm install -g react-native-cli

不要忘记重新启动命令提示符。


9
你需要在环境变量中设置npm路径。请查看下面的图片。 enter image description here 然后执行以下命令:在系统中安装-g(全局)cli。
npm install -g react-native-cli

9

您的系统或用户环境PATH变量已被编辑,您可以卸载NodeJs并重新安装,或者将以下路径添加到用户变量的PATH变量末尾,然后重新启动Windows:

C:\ Users \ [USER-NAME] \ AppData \ Roaming \ npm

这应该可以解决问题。


7

我在Windows 10中以管理员模式在cmd窗口运行时就遇到了相同的错误,但是在git bash窗口中也有一个bash shell版本的react-native对我起作用。

cmd:----------------------------------------------
C:\Users\David\Documents\react>where react-native
C:\Users\David\AppData\Roaming\npm\react-native
C:\Users\David\AppData\Roaming\npm\react-native.cmd

C:\Users\David\Documents\react>react-native init AwesomeProject
'react-native' is not recognized as an internal or external command,
operable program or batch file.


git bash:----------------------------------------
David@CYBER-PC ~/Documents/react
$ react-native init AwesomeProject
This will walk you through creating a new React Native project in        c:\Users\David\Documents\react\AwesomeProject
Installing react-native package from npm...
Setting up new React Native app in  c:\Users\David\Documents\react\AwesomeProject
AwesomeProject@0.0.1 c:\Users\David\Documents\react\AwesomeProject`-- react@15.3.1

To run your app on iOS:
   cd c:\Users\David\Documents\react\AwesomeProject
   react-native run-ios
   - or -
   Open   c:\Users\David\Documents\react\AwesomeProject\ios\AwesomeProject.xcodeproj in Xcode
   Hit the Run button
To run your app on Android:
   Have an Android emulator running (quickest way to get started), or a device connected
   cd c:\Users\David\Documents\react\AwesomeProject
   react-native run-android

6

npm install -g react-native-cli


11
请尽量避免仅提供代码的答案,而应通过解释说明您的代码为何是问题的解决方案。请记住,此答案可能有助于未来的某个人,提供越多信息越好。 - Edson Menegatti

6

我不得不在Windows 10中将%APPDATA%\npm文件夹添加到我的PATH路径中。全局模块就安装在这里。


5
如果重新安装npm没有起作用,尝试将%APPDATA%\npm添加到路径(环境变量),然后进行快速重新启动。系统重新启动确实应该是此过程的一部分。这在我的端上有效。 安装:
npm install -g react-native-cli

卸载

npm uninstall -g react-native-cli

4
如果你正在按照Windows/Android的getting started guide,他们建议通过Chocolatey安装nodejs。但是,Chocolatey在安装时喜欢拥有管理员权限。如果你只是一个普通用户,这似乎会干扰npm如何安装react-native-cli。在我的情况下,只有在我以管理员身份启动命令提示符时,react-native命令才被识别。

我所做的修复方法:

  1. 以管理员身份启动命令提示符
  2. 全局卸载react-native-clinpm uninstall -g react-native-cli
  3. 通过Chocolatey卸载nodejschoco uninstall nodejs

现在,作为一个没有管理员权限的普通用户:

  1. 通过nodejs website(而不是Chocolatey)安装nodejs
  2. 全局安装react-native-clinpm install -g react-native-cli

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