react-native:找不到命令


126

我正在创建-native项目时遇到-bash:react-native:命令未找到错误

以下是其他信息

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

我尝试从下面的链接建议步骤,但仍然出现相同的错误。

  1. 找不到本机命令

我没有在解决方案中指定的任何“ 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并再次安装,但仍然面临同样的问题。


13
您尝试了npm i -g react-native-cli替代npm i -g react-native吗?
纳德·达比特

2
我正在使用“ sudo npm install -g react-native-cli”
Ashok R

嗯..不知道,但也许检查此线程stackoverflow.com/questions/33282545/...
纳德达比特

4
按照他们的指定,我必须在我的PATH变量中添加/ usr / local / share / npm / bin。但我在/ usr / local / share中没有任何npm目录。感谢@NaderDabit
Ashok R

1
当我运行时,npm config --global get prefix 我可以在此位置看到npm目录-> /usr/local/Cellar/node/6.1.0/libexec/npm。我已将其添加到PATH变量中。执行的react-native init someApp命令仍然是相同的错误:-(
Ashok R

Answers:


250

将正确的路径添加到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:错误:在此阶段无法找到实用程序“ simctl”,则可以使用以下步骤进行修改

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

您可以从无法找到simctl的xcrun找到原始解决方案

感谢@fbozo

而已!!!


npm内没有bin文件夹!?
Eftekhari'5

1
它没有永久解决。但是在打开新终端后,同样的问题正在发生。如何永久解决此问题?
Balasubramanian


如果您不使用sudo安装npm模块,则此方法不起作用。有关修复程序,请参见stackoverflow.com/a/49124013/280795
尼克·洛锡安

就我而言,我已使用NVM更改了默认节点版本,并且忘记为该新节点版本再次安装react-native。谢谢!
史蒂夫·迈斯纳

42

不断遇到此问题,并找到答案后却没有起作用。

假设您没有以root / sudo的身份运行npm(不应该这样做!),您将npm模块安装在将默认目录设置为的任何位置

假设您已遵循这些说明,并且默认目录为〜/ .npm-global,则需要在路径中添加〜/ .npm-global / bin。

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

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

然后重新启动您的外壳程序,它将起作用。


在厌倦了尝试近百种解决方案后,这对我的情况很有用,我的问题实际上是当我关闭终端并再次启动然后找不到react-native命令时。
克兰蒂兹


18

如果谁有错误,请尝试使用sudo:

须藤npm install -g react-native-cli


9

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


1
或者只是再次全局安装。太简单了。$ npm i -g react-native-cli
Keeprock

9

如果由于某些奇怪的原因,路径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'

4

如果您使用的是yarn,则可能必须在前面运行yarn的情况下运行命令。例:

yarn react-native info

3

遇到了同样的问题,但是你一半的方法对我不起作用。我按照您的方式进行操作:从react-native-cli instal的输出中获取,但随后在ect / pathes中手动编写了:

sudo nano /etc/paths

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


3

首先,在您的终端上运行此命令。

npm i -g react-native-cli

然后通过此命令创建您的本机项目。

React-native init Project name

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




1

万一有人遇到这个问题,我会遇到与qix类似的问题,但会更加细微。

新的Shell终端将默认使用其他版本的节点。我将终端更改为所需的节点,但是当bundle脚本运行时,它在新的shell中运行,并且得到了未安装react-native的默认版本。

我使用nvm alias default x.x.x新的外壳程序将继承我想要的默认版本。


0

在我这边(macOS 10.14),这真的很奇怪,我很确定自己的节点和npm都可以正常工作,但是我一直都在为这个特定的软件包找到命令。我最终做了以下工作:

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


0
/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

1
为什么我们需要安装这么多东西才能解决这么少的问题?例如:在蚁群上使用核武器。
zinoadidi

-1

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

反应本机库建议:

如果遇到诸如找不到模块'npmlog'之类的错误,请尝试直接安装npm:curl -0 -L https://npmjs.org/install.sh | 须藤市

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


最初的问题是找不到“ react-native”命令。不可能运行react-native --help之一
zinoadidi

我忽略了您按照官方Facebook文档中的步骤安装React Native时出错的事实,因为我认为您不是初学者。现在,我确定您是一个初学者,我可以为您提供更好的帮助
Murilo Petruci
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.