Windows npm挂起任何命令
我安装了Node.js的最新版本(12.2 x64 windows) 当我以管理员身份运行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上遇到了这样的问题。安装在我笔记本电脑上的相同版本可以正常工作。在我的虚拟机上,我有卡巴斯基防病
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