【问题标题】:-bash: react-native: command not found-bash:react-native:找不到命令
【发布时间】: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

【问题讨论】:

标签: node.js bash installation homebrew react-native


【解决方案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 路径。
  • @zssr 我更新了我的答案以包含一种找到正确目录的方法。
  • 这个解决方案对我有用stackoverflow.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】:

我尝试了很多方法在我的 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。成功了!

【讨论】:

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

首先要全局安装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 安装包
【解决方案4】:

第 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"

【讨论】:

    【解决方案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】:
          sudo npm install -g react-native-cli
          

          【讨论】:

          猜你喜欢
          • 2019-10-15
          • 2019-06-14
          • 2016-09-08
          • 2021-08-05
          • 2023-03-04
          • 2019-09-04
          • 1970-01-01
          相关资源
          最近更新 更多