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

我已经成功安装了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已经成功安装了。 然而,当我运行反原生,它说

  -bash: react-native: command not found 

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

您必须确保/usr/local/share/npm/bin在您的PATH以使用安装了npm二进制文件。

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

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

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


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

find这条path的一个解决scheme是运行:

 npm list -g | head -n 1 

这给你npm安装它的包的path。 这不是你想要的path,但它很接近。 例如在我的Linux上,它给/home/baptiste/.linuxbrew/lib ; 只需用binreplacelib即可获得正确的path:

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

我尝试了很多方法来解决这个问题在我的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.988s更新了1个包

正如你可以看到react-native被安装在/Users/xxx/.npm-packages/bin/ ,与其他人可能说的不同。 所以我把export PATH=/Users/xxx/.npm-packages/bin:$PATH粘贴到我的~/.profile并打开一个新的terminal窗口来运行react-native 。 有效!

 sudo npm install -g react-native-cli