我在尝试在Windows 10上安装Node时遇到了一些问题并找到了解决方案。
错误如下:
C:\用户\斯蒂芬> NPM
错误:ENOENT,stat'C:\ Users \ Stephan \ AppData \ Roaming \ npm'
解决方案如下。
答案 0 :(得分:112)
修改强> 似乎新安装程序不再出现此问题,请this answer查看Parag Meshram,因为我的答案现在可能已过时。
原始回答:
请密切关注以下步骤:
C:\Program Files\nodejs
PATH
并选择进行编辑。如果PATH变量为empty
,请将其更改为:C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
如果PATH变量已包含C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm
,请在以下后面添加以下内容:;C:\Program Files\nodejs
如果PATH变量包含有关npm的信息,但没有任何内容,请将其附加到PATH的末尾:;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
现在PATH变量设置正确,您仍会遇到错误。手动进入AppData目录,你会发现Roaming中没有npm目录。手动创建此目录。
重新启动命令提示符,npm现在可以正常工作。
答案 1 :(得分:60)
答案 2 :(得分:14)
除了@StephanBijzitter的回答,我还会使用以下PATH
变量:
%appdata%\npm
%ProgramFiles%\nodejs
所以你的新PATH
会是这样的:
[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs
这样做的好处是neiter依赖于用户,也不依赖于32/64位。
答案 3 :(得分:9)
新安装程序(从https://nodejs.org下载的.msi)具有“添加到路径”选项。默认情况下,它已被选中。确保你选中它。
答案 4 :(得分:2)
You should run the installer as administrator.
答案 5 :(得分:2)
我遇到了同样的问题,在节点安装的同时,我们将反病毒保护转为10分钟,这有点像魅力。
答案 6 :(得分:1)
所有内容都应该安装在%appdata%(C:\ Users \\ AppData \ Roaming)中,而不是'程序文件'。
这就是为什么......
默认的MSI安装程序将节点及其随附的NPM放入“程序文件”中。并将其添加到系统路径,但它将NPM的用户路径设置为%appdata%(c:\ users [username] \ appdata \ roaming),因为用户没有足够的权限写入&#39 ;程序文件'。
这会造成混乱,因为所有模块都进入%appdata%,当你升级NPM本身 - NPM自己建议你马上做 - 你最终会得到两份:原版仍在'程序文件&# 39;因为NPM不能删除它,而新的一个%app appdata%。
更糟糕的是,如果您错误地以管理员身份执行NPM操作(在Windows上更容易,然后在* nix上),那么它将在'程序文件'上运行。 NPM node_modules的副本。可能是一团糟。
因此,当您运行安装程序时,只需将其指向%appdata%并避免所有这些。
请注意,这并不是什么奇怪的事情 - 如果你只使用用户权限运行安装程序会发生什么。
答案 7 :(得分:0)
您必须修改AppData的原因可能是:
即使这样做了,最新的LTE(4.4.4)仍然存在Windows 10的问题,只要我尝试一次,它会工作一段时间:
$ npm install _some_package_ --global
节点抛出"致命错误CALL_AND_RETRY_LAST分配失败 - 处理内存不足"错误。仍然试图找到解决该问题的方法。
我发现唯一有效的方法是运行Vagrant或Virtual box,然后运行Linux命令行(必须匹配路径),这是一个非常混乱的解决方案。