我安装了Node.js的最新版本(12.2 x64 windows)
以管理员身份运行cmd
并尝试调用任何npm
命令(npm -v
除外)后,cmd窗口挂起。在 Ctrl + C 后返回
Terminate batch job (Y/N)?
我试图离开cmd几个小时,但它没有给出一些结果。
这很奇怪,因为node.exe
进程非常耗费CPU和内存。
我试图多次重新安装node.js
但没有成功
我甚至无法获得一些调试信息。
我在我的VM上面临这样的问题,我通过rdp连接使用了这个问题。在我的笔记本电脑上安装的相同版本正常在我的VM上我有卡巴斯基防病毒软件,但在关闭它之后我得到了相同的结果。
有人面对这样的问题吗?有没有办法获得更多的信息问题? 能否请你推荐一些解决方法?
答案 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文件,然后尝试执行该命令即可,即使重新安装一次也是如此。