-bash:react-native:找不到命令

Posted

技术标签:

【中文标题】-bash:react-native:找不到命令【英文标题】:-bash: react-native: command not found 【发布时间】:2016-01-21 19:43:07 【问题描述】:

我已经成功安装了brew、node 4.0+、watchman和flow,我在做npm install -g react-native-cli的时候收到如下:

/Users/home/.node/bin/react-native -> /Users/home/.node/lib/node_modules/react-native-cli/index.js
react-native-cli@0.1.5 /Users/home/.node/lib/node_modules/react-native-cli
           └── prompt@0.2.14 (revalidator@0.1.8, pkginfo@0.3.1, read@1.0.7, winston@0.8.3, utile@0.2.1)

所以我假设react-native-cli 也已成功安装。但是,当我运行react-native 时,它会说:

-bash: react-native: command not found

我的节点版本是 4.2.1,watchman 3.9,brew 0.9.5 (git 7ed6) 和 npm 2.14.7

【问题讨论】:

react-native:找不到命令。 ***.com/questions/37189081/… 其他使用nvm 的人可能想检查他们的nvm 版本是否持续。当我的 PATH 中有旧的 npm bin 路由需要删除时,我遇到了这个问题 这对我有用,也许这可能是类似问题的解决方案。 github.com/facebook/react-native/issues/… 【参考方案1】:

您必须确保/usr/local/share/npm/bin 在您的PATH 中才能使用与npm 一起安装的二进制文件。

将以下内容添加到您的~/.bashrc

export PATH="/usr/local/share/npm/bin:$PATH"

然后重新加载你的 shell 会话。


如果您发现您没有/usr/local/share/npm/bin 目录,您的npm 可能会将其软件包安装在其他位置。在这种情况下,您必须在上面的行中使用正确的路径。

找到该路径的一种解决方案是运行:

npm list -g | head -n 1

这为您提供了npm 安装其软件包的路径。这不是您想要的路径,但它很接近。例如在我的 Linux 上,它给出了/home/baptiste/.linuxbrew/lib;将lib 替换为bin 即可获得正确的路径:

export PATH="/home/baptiste/.linuxbrew/bin:$PATH"

您可以使用$HOME 获取您自己的主目录:

export PATH="$HOME/.linuxbrew/bin:$PATH"

【讨论】:

我已经在终端上运行了 export PATH="$HOME/.node/bin:$PATH" ,效果很好。谢谢! 虽然我安装了react-native-cli,但没有/usr/local/share/npm/bin 路径。 @zs-s-r 我更新了我的答案以包含一种找到正确目录的方法。 这个解决方案对我有用***.com/a/48638712/1390678 在我的 Mac 10.13.5 上,npm list -g | head -n 1 给出的结果为 /usr/local/lib。所以我将 export PATH="/usr/local/lib:$PATH" 添加到 .bash_profile 以使其正常工作【参考方案2】:
sudo npm install -g react-native-cli

【讨论】:

这个说对了一半,虽然你可以看看正确的,它还包括 env export ***.com/a/48638712/1390678【参考方案3】:

我尝试了很多方法在我的 mac 上解决这个问题(node -v: v8.1.3, npm -v: 5.0.3)。当我运行npm install -g react-native-cli 时,输出是这样的:

/Users/xxx/.npm-packages/bin/react-native -> /Users/xxx/.npm-packages/lib/node_modules/react-native-cli/index.js + react-native-cli@2.0.1 在 2.988 秒内更新了 1 个包

如您所见,react-native 安装在 /Users/xxx/.npm-packages/bin/ 中,与其他人所说的不同。所以我将export PATH=/Users/xxx/.npm-packages/bin:$PATH 行粘贴到我的~/.profile 并打开一个新的终端窗口来运行react-native。成功了!

【讨论】:

它对我有用,谢谢,但是有没有说明根本原因的文件? 感谢您的精彩回答!它终于对我有用了!【参考方案4】:

首先要全局安装react native

npm install -g react-native-cli

然后它将向您显示 react native 的路径,如下所示

/Users/yourUser/.npm-packages/bin/react-native -> /Users/yourUser/.npm-packages/lib/node_modules/react-native-cli/index.js

然后你必须从上面的结果中设置默认路径并执行以下命令

export PATH="/Users/yourUser/.npm-packages/bin/:$PATH"

export PATH="$HOME/.npm-packages/bin:$PATH"

然后重新加载你的会话/环境变量

source ~/.bash_profile

它对我有用....干杯

谢谢

【讨论】:

如果您收到错误:EACCES: permission denied, access '/usr/local/lib/node_modules' 问题然后尝试 sudo npm install -g react-native-cli 安装包【参考方案5】:

很简单!

只需运行 npm i -g react-native-cli 然后重新启动你的 cmd。

【讨论】:

【参考方案6】:

export PATH="$HOME/.npm-packages/bin:$PATH" 对我有用,但是我必须用我的 mac 上的东西替换包。

即 .npm-global 而不是 .npm-packages。 ..

【讨论】:

【参考方案7】:

第 1 步。

终端火灾:npm install -g react-native-cli 输出:/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

【讨论】:

【参考方案8】:

第 1 步。

终端火灾:npm install -g react-native-cli

output: 

/usr/local/Cellar/node/13.3.0/bin/react-native -> /usr/local/Cellar/node/13.3.0/lib/node_modules/react-native-cli/index.js
+ react-native-cli@2.0.1
updated 1 package in 4.544s

第二步:导出路径

  export PATH="/usr/local/Cellar/node/13.3.0/bin:$PATH"

【讨论】:

以上是关于-bash:react-native:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

-bash:react-native:找不到命令 mac

Mac OS终端找不到命令

zsh:找不到命令:react-native - MacOS

当我运行“npx react-native start”时找不到模块“@expo/metro-config”

找不到 react-native 和 create-react-app 的命令(Mac OS)

终端:-bash:'别名:找不到命令