运行npm时出错“前缀-g不被识别为内部或外部命令”

时间:2016-07-09 03:12:27

标签: node.js

'CALL“C:\ Program Files \ nodejs \ node.exe”“C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js”prefix -g'未被识别为内部或外部命令, 可操作程序或批处理文件。

我使用的是Windows 8.1企业版,我在appdata / npm中的文件仍然是我收到上述错误。我安装了最新的节点版本,即v6.3.0,我甚至尝试使用旧版本的节点,即v4.4.7,我收到同样的错误。

5 个答案:

答案 0 :(得分:1)

我有同样的问题。我也打印了这个问题。

  

错误文件C:\ Windows \ system32 \ cmd.exe;

似乎我在环境变量中搞砸了我的comSpec “;”在该行的末尾导致错误。

答案 1 :(得分:0)

我遇到了同样的问题。它是由一些环境变量的分号引起的。

如果您在Windows中,首先尝试使用SET命令,它将列出所有环境变量。

C:\Users>SET

然后,尝试仔细检查所有变量,看看在任何变量的末尾是否有任何分号。如果有,请删除分号。

就我而言,以前

ComSpec=C:\windows\system32\cmd.exe;

所以我删除了ComSpec的分号并解决了这个问题。

答案 2 :(得分:0)

不确定是否仍然存在相同的问题,但是最近我遇到了这个令人讨厌的错误,并通过修改在nodejs安装文件夹中找到的npm.cmd文件来完成解决。似乎发生此错误是因为在调用npm.cmd文件时错误地使用了撇号和双引号。默认情况下,npm.cmd以这种方式出现:

'CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g'

您需要将其更改为

"CALL ""%NODE_EXE%"" ""%NPM_CLI_JS%"" prefix -g"

那样,.cmd必须正确执行,或者至少在Windows 10 OS中对我有用。

希望有帮助。

答案 3 :(得分:0)

对我来说,我还致力于从ComSpec环境变量中删除;

答案 4 :(得分:0)

我有同样的问题npm“前缀-g不被识别为内部或外部命令” 在第8窗口上。解决大约需要一天的时间。

实际问题是窗口环境变量路径。

以下是我解决问题的一些步骤。

1:正确,我在安装时删除了该节点,并删除了该节点的npm默认路径设置。
示例*C:\Program Files\nodejs;* *C:\Users\{pcName}\AppData\Roaming\npm*
如果节点路径同时存在:path和PATH变量将删除节点和npm路径。

2:如果具有npm或节点路径的任何人都删除了节点和npm路径,请检查Every环境变量。
就我而言: ComSpec = 具有一些nodejs的路径
范例: ComSpec=C:\Users\{pcName}\AppData\Roaming\npm\node_modules\angularCli****
我替换了 ComSpec=C:\windows\system32\cmd.exe(无分号)

3:仅在系统路径中或在路径和PATH(如果存在)变量中都添加nodejs和npm路径:

path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files\nodejs;C:\Users\{userName}\AppData\Roaming\npm```