Windows npm挂起任何命令

Windows npm挂起任何命令,windows,node.js,npm,Windows,Node.js,Npm,我安装了Node.js的最新版本(12.2 x64 windows) 当我以管理员身份运行cmd并尝试调用任何npm命令(除了npm-v)后,cmd窗口将挂起。在Ctrl+C之后返回 我试图离开cmd好几个小时,但它没有给出一些结果。 这是很奇怪的,因为node.exe进程很难消耗CPU和内存 我多次尝试重新安装node.js,但都没有成功。 我甚至不能得到一些调试信息 我在通过rdp连接使用的VM上遇到了这样的问题。安装在我笔记本电脑上的相同版本可以正常工作。在我的虚拟机上,我有卡巴斯基防病

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

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

我多次尝试重新安装
node.js
,但都没有成功。
我甚至不能得到一些调试信息

我在通过rdp连接使用的VM上遇到了这样的问题。安装在我笔记本电脑上的相同版本可以正常工作。在我的虚拟机上,我有卡巴斯基防病毒软件,但关闭后,我得到了同样的结果

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

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

Node.js(带NPM)注意:在windows server计算机上,与其在用户%APPDATA%路径上安装节点模块,不如在全局路径上安装,例如c:\NPM。这可以通过npm命令实现:$npm config set prefix'c:\npm'这在单个开发人员的计算机上不是必需的

我已经执行了
npm配置集前缀'c:\npm'

因此,它将
prefix=“'c:\\npm'”
添加到my.npmrc文件中


这让node.js非常疯狂。我花了大约一个小时调试所有这些js脚本
npm.js
code.js
等等。。。发现它用
'c:\\npm'\etc
调用
mkdirp
,并永远循环进程

为清晰起见,当您呼叫时:

npm config set prefix 'c:\npm'
您需要有“包装路径”命令,但您需要将它们从.npmrc文件中删除,以便npm命令可以工作。因此,在.npmrc文件中生成的行应该如下所示:

prefix="c:\\npm"

这也发生在我身上:我只为我的用户在Windows 10上安装了node,并通过使用完整路径调用它来使用npm
“c:\Program Files\nodejs\npm”

我使用
“c:\Program Files\nodejs\npm”配置设置前缀“c:\Program Files\nodejs”
(将前缀设置为npm的完整路径)解决了这个问题

结果是:

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

现在一切正常。

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

这是因为前缀设置不正确

我只想指出那些评论——如果你不能访问命令行npm,那么你显然不能运行
npm config


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

只需删除User/%UserProfile%上的.nprmc文件,如果该命令可以运行,请立即尝试重新安装一次。

是否有node.js/npm社区?有人能帮我找到node.js/npm活动的日志文件吗?我可以从任务管理器中看到node.js正在积极地做一些事情,但在中没有写入任何控制台信息。所以我认为它应该在一些日志文件中写入一些调试信息。我写信给他们,但他们根本没有回复我,这很奇怪。我认为node.js/npm社区非常活跃,因为它们很受欢迎。如果你甚至无法让它运行
config set prefix
,只需编辑你的%USERPROFILE%/.npmrc文件。在我的例子中,问题是npm\u config\u缓存被设置并指向不存在的磁盘。要澄清问题,请卸载nodejs,然后转到C:\Users\{your user}并通过windows search搜索NPM。然后删除你找到的所有东西。理解为什么会这么冷真是一件痛苦的事。
    λ cat c:\Users\<my_user_name>\.npmrc
    prefix=c:\Program Files\nodejs