-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:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章
zsh:找不到命令:react-native - MacOS
当我运行“npx react-native start”时找不到模块“@expo/metro-config”