npm挂起任何命令

时间:2015-04-01 10:42:38

标签: windows node.js npm

我安装了Node.js的最新版本(12.2 x64 windows) 以管理员身份运行cmd并尝试调用任何npm命令(npm -v除外)后,cmd窗口挂起。在 Ctrl + C 后返回

Terminate batch job (Y/N)?

enter image description here

我试图离开cmd几个小时,但它没有给出一些结果。 这很奇怪,因为node.exe进程非常耗费CPU和内存。

我试图多次重新安装node.js但没有成功 我甚至无法获得一些调试信息。

我在我的VM上面临这样的问题,我通过rdp连接使用了这个问题。在我的笔记本电脑上安装的相同版本正常在我的VM上我有卡巴斯基防病毒软件,但在关闭它之后我得到了相同的结果。

有人面对这样的问题吗?有没有办法获得更多的信息问题? 能否请你推荐一些解决方法?

6 个答案:

答案 0 :(得分:12)

我终于解决了我的问题。 根据我们当地的自述文件

的建议
  

Node.js(使用NPM)注意:在Windows服务器计算机上,而不是在用户%APPDATA%路径上安装节点模块,最好安装在全局路径,例如c:\ npm。这可以通过npm命令实现:$ npm config set prefix' c:\ npm'个别开发人员的机器不需要这样做。

我已经执行了npm config set prefix 'c:\npm'

结果它将prefix="'c:\\npm'"添加到我的.npmrc文件

这使得node.js真的很疯狂。我花了大约一个小时来调试所有这些js脚本npm.js code.js等...发现它用mkdirp调用'c:\\npm'\etc并且它永远循环进程。

答案 1 :(得分:4)

如果有人将来会遇到这个问题,你需要找到npmrc文件删除它并删除节点的所有配置,删除节点并安装它,这应该解决这个问题。 删除节点时,某些配置不会被删除,因此您必须手动将其删除。

答案 2 :(得分:3)

它也适用于我:我在Windows 10上仅为我的用户安装了节点,并通过使用完整路径调用它来设法使用npm "c:\Program Files\nodejs\npm"

我使用"c:\Program Files\nodejs\npm" config set prefix "c:\Program Files\nodejs"解决了(将前缀设置为npm的完整路径)

结果是:

    λ cat c:\Users\<my_user_name>\.npmrc
    prefix=c:\Program Files\nodejs

现在eveything正常。

答案 3 :(得分:3)

如果前缀设置不正确。

只想指出那些评论即可-如果您无法访问命令行npm,那么显然无法运行npm config

打开powershell并键入notepad $HOME/.npmrc,然后编辑显示prefix=...的行并将其更改为有效的行。

答案 4 :(得分:0)

为清楚起见,当您致电:

npm config set prefix 'c:\npm'

你必须拥有&#39;包装路径,但您需要从.npmrc文件中删除它们,以便npm命令可以工作。因此,.npmrc文件中的结果行应如下所示:

prefix="c:\\npm"

答案 5 :(得分:0)

只需删除位于User /%UserProfile%的.nprmc文件,然后尝试执行该命令即可,即使重新安装一次也是如此。