-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
; 只需用bin
replacelib
即可获得正确的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