为什么在 Git Bash 上运行 npm install 没有效果?

53

我打开了 Git Bash 然后输入 npm install,结果返回:

bash: npm command not found

我不明白,因为我有 node.js 命令提示符,当我输入 npm -v 时它返回 3.7.3。为什么在 git 中不起作用?

16个回答

50

在我们的情况下,解决方案很简单,就是关闭Git bash窗口并重新打开它。


35

在 Git Bash 中输入...

which npm

这将告诉您npm安装的位置。

现在,我假设这将给您什么都没有,因为似乎npm不在您的系统PATH变量中。 PATH变量定义了Windows查找命令的位置。

进入控制面板,点击系统高级设置,并将包含npm的目录添加到您的路径中。

如果您不知道它在哪里,请打开普通的Windows控制台,然后输入...

where npm

这将向您展示它的位置,以便您可以将其添加到您的路径中。

然后关闭您的Git Bash终端并重新打开它,npm就应该可以正常工作了。

如果您想在Git Bash内检查路径变量,请确保正确的npm文件夹已经在路径中,然后只需键入...

echo $PATH

另一个提示是,您可以仅通过您的 .bashrc 或 .bash_profile 文件来调整 git bash 的 PATH。


1
这非常有帮助,比如说,如果您在两个不同的目录中安装了两个版本的node,并且无法弄清楚为什么bash没有捕捉到新版本。 - Nat
你还需要注意 PATH 中条目的顺序。如果你的 PATH 中有 Chocolately,将其移动到 nodejs 之下以解决 Git Bash 中的问题。 - Chilly Code

17
如果您使用的是Windows操作系统,请尝试以下步骤: 在命令提示符中,进入文件夹

C:\Program Files or (x86)\nodejs\

接下来请尝试以下方法

C:\Program Files\nodejs>set path=%PATH%;%CD%
C:\Program Files\nodejs>setx path "%PATH%"

这对我有效!


12
如果您先安装了git bash,然后再安装node.js,请卸载gitbash并保留node.js,然后重新安装git bash。
npm --version
node --version

使用此命令检查版本


2
如果你遇到这个问题,首先要尝试的是重新启动电脑。对我有用。而且不需要重新安装 Git Bash。 - strix25

4
git安装的默认终端模拟器名为Mintty。要在Mintty中运行npm,您需要将路径添加到环境变量中。
请将以下行添加到您的~\.bash_profile文件中。如果不存在,请创建它。
PATH="/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

当Mintty启动时,它会读取.bash_profile文件。现在你应该能够从Mintty运行npm了。
这些其他问题也可能有帮助。

https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path https://askubuntu.com/questions/58814/how-do-i-add-environment-variables


2

您需要将Node.js和npm添加到您的路径中

node所在位置

npm所在位置


3
补充一点,如果你在 VSCode 中使用 Git Bash,你需要重新启动 VSCode 才能加载新的 $PATH - fernandosavio
@fernandosavio 谢谢你!尽管VSCode已将Git Bash设置为默认的shell,但我还是不得不重新启动才能加载更新后的$PATH。 - raychz
为了进一步完成,PhpStorm也需要重新启动才能正常工作。 - tsadiq

2

你正在使用Windows操作系统吗?

如果是的话,可以打开Git Bash控制台并运行以下命令:

echo $PATH

然后检查节点路径(例如c/Program Files/node)是否存在?

如果节点路径不存在,则需要将其添加到系统路径变量中。

如果存在,请尝试在双引号之间运行npm。

"npm"

2
假设您正在使用Windows尝试git-bash,而node是由Visual Studio安装的:问题可能是缺少npm bash脚本。
路径中有一个npm.cmd批处理文件:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\npm.cmd

但是git bash不支持运行.cmd文件,所以你需要为npm创建一个bash脚本。

在你的node文件夹(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\)中创建以下名为npm的文件:

#!/bin/sh
basedir=`dirname "$0"`
case `uname` in *CYGWIN*) basedir=`cygpath -w "$basedir"`;; esac
if [ -x "$basedir/node" ]; then "$basedir/node" "$basedir/node_modules/npm/bin/npm-cli.js" "$@" ret=$? else node "$basedir/node_modules/npm/bin/npm-cli.js" "$@" ret=$? fi exit $ret

我得到了/c/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/Microsoft/VisualStudio/NodeJs/npm: line 1: #!/bin/sh: No such file or directory 6.1.0 - Patee Gutee

1
如果您已将node / npm安装在操作系统驱动器以外的驱动器上,则需要将node和npm添加到路径环境变量中(Windows)。右键单击此电脑,转到高级系统设置->环境变量->双击路径并添加: Drive:\nodejs\node_modules\npm\bin Drive:\nodejs
然后点击“确定”并关闭打开的CLI,再次打开CLI并运行以下命令以检查:
echo "$PATH"

0

我不得不将节点路径添加到系统变量中并重新启动。由于某种原因,关闭和重新打开Git Bash是不够的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接