为啥 npm install 在 git bash 上不起作用

Posted

技术标签:

【中文标题】为啥 npm install 在 git bash 上不起作用【英文标题】:How come npm install doesn't work on git bash为什么 npm install 在 git bash 上不起作用 【发布时间】:2016-06-25 06:12:31 【问题描述】:

我打开了 git bash,我输入 npm install 然后它返回:

bash: npm command not found

我不明白,因为我有node.js 命令提示符,当我输入npm -v 时,它会返回3.7.3。怎么在 git 里不行?

【问题讨论】:

【参考方案1】:

在 git bash 中输入 ...

which npm

这会告诉你 npm 的安装位置。

现在,我假设这不会给您任何帮助,因为 npm 似乎不在您的系统 PATH 变量中。 PATH 变量定义了 Windows 查找命令的位置。

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

如果你不知道它在哪里,那么打开一个普通的 Windows 控制台并输入 ...

where npm

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

然后关闭你的 git bash 终端并重新打开它,npm 应该可以工作了。

PS 如果你想检查 git bash 中的 PATH 变量,请确保正确的 npm 文件夹在 PATH 上,然后只需键入 ...

echo $PATH

PPS 另一个提示 - 您只能通过 .bashrc 或 .bash_profile 文件调整 git bash 的 PATH。

【讨论】:

如果您碰巧在两个单独的目录中安装了两个版本的节点,并且无法弄清楚为什么 bash 没有选择新的版本,这将非常有用。 您还应该注意 PATH 中的条目顺序。如果您的 PATH 中有巧克力,请将其移至 nodejs 下方以解决 git bash 中的问题。【参考方案2】:

你需要将 nodejs 和 npm 添加到你的路径中

节点在哪里

npm 在哪里

【讨论】:

只是补充...如果您在 VSCode 中使用 Git Bash,则需要重新启动 VSCode 以加载新的 $PATH @fernandosavio 谢谢!尽管 VSCode 将 Git Bash 设置为默认 shell,但我不得不重新启动以加载更新的 $PATH。 为了进一步完成,phpStorm 也需要重启才能正常工作?【参考方案3】:

你在 Windows 上吗?

如果是这样,你能不能去 Git Bash 控制台运行:

echo $PATH

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

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

如果有,可以尝试在双引号之间运行 npm 吗?

"npm"

【讨论】:

【参考方案4】:

假设您在 Windows 上尝试使用 git-bash,并且节点是由 Visual Studio 安装的:原因可能是缺少 npm bash 脚本。

路径中有npm.cmdbath文件:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\npm.cmd

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

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

#!/bin/sh basedir=`目录名“$0”` 案例中的“unname” *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 经社理事会 if [ -x "$basedir/node" ];然后 "$basedir/node" "$basedir/node_modules/npm/bin/npm-cli.js" "$@" 转=$? 别的 节点“$basedir/node_modules/npm/bin/npm-cli.js”“$@” 转=$? 菲 退出 $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【参考方案5】:

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

【讨论】:

【参考方案6】:

如果您使用的是 Windows,请尝试以下操作: 在 CMD 中,转到文件夹

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

那就试试下面的

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

它对我有用!

【讨论】:

【参考方案7】:

我遇到了同样的问题,我通过更改 C:\Program Files\Git\cmd 中的 git 环境系统变量成功解决了它strong> 到 C:\Program Files\Git

希望对某人有所帮助

【讨论】:

【参考方案8】:

在我们的例子中,解决方案只是关闭 Git bash 窗口并重新打开它。

【讨论】:

【参考方案9】:

我必须将节点路径添加到系统变量并重新启动。出于某种原因,关闭并重新打开 git bash 是不够的

【讨论】:

【参考方案10】:

我知道这篇文章很旧,但这可以帮助通过Visual Studio Installer 安装Node / npm 的人。我尝试了所有可以在网上找到的解决方案,但在我执行以下操作之前没有一个可行:

使用Visual Studio Installer卸载Node

使用从Node.js site 下载的安装程序进行安装。使用默认选项。

【讨论】:

【参考方案11】:

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

npm --version
node --version

使用此命令检查版本

【讨论】:

如果您这样做了,首先要尝试的是重新启动 PC。为我工作。并且不需要重新安装 git bash【参考方案12】:

如果您在 os 驱动器以外的驱动器中安装了 node / npm,则需要将 node 和 npm 安装到路径环境变量 (windows) 右键单击​​此 pc 转到高级系统设置 -> 环境变量 -> 双点击路径并添加

驱动器:\nodejs\node_modules\npm\bin

驱动器:\nodejs

单击确定并关闭打开的 cli 并再次打开以签入 cli run:

echo "$PATH"

【讨论】:

【参考方案13】:

你需要定义这个 #!/bin/bash start of you bash 脚本

#!/bin/bash
npm install

【讨论】:

【参考方案14】:

这个选项适合我。

上面提到----

使用 Visual Studio 安装程序卸载节点。

使用从 Node.js 站点下载的安装程序进行安装。使用默认选项。

【讨论】:

【参考方案15】:

相当老的线程,但如果有人需要这个:

按照@fernandosavio 的建议,我重新启动了我的 IDE(在我的例子中是 IntelliJ),以便它加载新的 $PATH,它就像一个魅力。

注意:仅仅关闭和打开 IDE 的内部终端是不行的。

【讨论】:

【参考方案16】:

就我而言,我也遇到过这个问题,所以我找到了解决方案。

• 只需转到控制面板的程序和功能并搜索 Node...

• 然后只修复节点。对我来说效果很好

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于为啥 npm install 在 git bash 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 npm install 之后 npm 正在运行准备脚本,我该如何停止它?

npm install 显示错误,找不到 git

Centos:$ npm install -g vue-cli module.js:549 为啥任何的npm install均报此错,在window上的是正常

npm 通过命令提示符工作,但不是 git bash

为啥 yarn install checkout github 存储库依赖项但 npm install 没有?

sh 系统,Git,Git LFS,NPM,Grunt,Bower和ngrok的bash函数和别名