无法全局安装 npm 包并且路径修复不起作用

Can't install npm packages globally and path fix doesn't work

即使在 npm install -g react-native 或类似的全局安装 npm 包成功后,我也会得到一个 bash:command not found

我一字不差地跟着 https://medium.com/@jagatjyoti.1si13cs040/npm-g-install-npm-package-not-working-as-desired-why-why-why-19795abf0b59,并尝试使用 sudo,但是安装后我仍然得到 bash:command not found

这里有什么问题以及如何在我的 mac 上安装全局 npm 包?

默认情况下,react-native 等可执行文件在全局安装时应位于 /usr/local/bin 中。尝试 运行 /usr/local/bin/react-native 如果可行,请检查您的 PATH 变量中是否包含 /usr/local/bin (echo $PATH);

如果在上述位置找不到 react-native 或任何其他全局安装的可执行文件,运行

npm bin -g

它会告诉你去哪里找。知道位置后,重复上述步骤 - 尝试指定完整路径执行它并检查该位置是否包含在 PATH.

要在 PATH 中包含一个条目。转到您的主目录并添加此条目(代码行)

export PATH=$PATH:/Users/myuser/bin

.bash_profile.bashrc文件。如果该文件不存在,请创建一个(之后重新启动终端)。

这个错误是因为 npm 无法将全局安装的包放在正确的路径上,您可以通过删除 ~/.npmrc 轻松修复它,下面的步骤应该可以解决您的问题。

可能的修复

检查您是否有任何与 ~/.npmrc.

中带有前缀的文件相关的内容
  1. 打开终端并输入

    在终端中输入

    ~/.npmrc
    

    可能的输出

    zsh: permission denied: /Users/{...}/.npmrc
    
  2. 现在用

    删除它们

    在终端中输入

    rm -rf ~/.npmrc  
    

现在您可以安装和使用任何全局包

npm install --global expo-cli

现在它已被删除,npm install -g 应该将 expo 放在正确的位置,一切都应该正常工作:-)

Link to original answer