我在Windows 10上尝试安装Node时遇到了一些问题,并找到了解决方法。
错误如下:
C:\Users\Stephan>npm
Error: ENOENT,stat 'C:\Users\Stephan\AppData\Roaming\npm'
以下是解决方案。
我在Windows 10上尝试安装Node时遇到了一些问题,并找到了解决方法。
错误如下:
C:\Users\Stephan>npm
Error: ENOENT,stat 'C:\Users\Stephan\AppData\Roaming\npm'
以下是解决方案。
编辑: 看起来新的安装程序不再有这个问题了,可以参考此答案,由Parag Meshram提供的解决方案可能已经过时了。
原始回答:
请按照以下步骤操作:
C:\Program Files\nodejs
PATH
并选择编辑它。如果 PATH 变量为空,请更改为此值: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 现在将正常工作。
点击上面写着“Download For ...”的按钮
这将会下载.msi文件(或者对于Mac系统是.pkg文件),它会为你完成所有的安装和路径设置,不像所选答案那样需要手动操作。
除了@StephanBijzitter提供的答案外,我会使用以下PATH
变量:
%appdata%\npm
%ProgramFiles%\nodejs
那么你的新的 PATH
将会是这样:
[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs
这有一个优点,既不依赖用户,也不依赖32/64位。
所有应该安装在%appdata%(C:\Users\\AppData\Roaming)中,而不是“program files”文件夹。
原因如下:
默认的MSI安装程序将Node和其中附带的NPM安装在“program files”文件夹中,并将其添加到系统路径中,但它将用户路径设置为NPM的%appdata%(c:\users[username]\appdata\roaming),因为用户没有足够的权限写入“program files”。
这会导致混乱,因为所有模块都会进入%appdata%,当您升级NPM本身 - NPM自己建议您立即这样做 - 您会得到两份副本:仍在“program files”中的原始副本,因为NPM无法擦除它,以及在%appdata%中的新副本。
更糟糕的是,如果您错误地将NPM操作作为管理员执行(在Windows上比在*nix上容易得多),则它将在“program files”中的NPM node_modules上操作。可能会出现真正的混乱。
因此,当您运行安装程序时,只需将其指向%appdata%,就可以避免所有这些问题。
请注意,这并不奇怪 - 如果您以普通用户权限运行安装程序,这就是所发生的事情。
您需要以管理员身份运行安装程序。
我曾经遇到过同样的问题,我采取的解决方法是在安装node.js时关闭我的反病毒保护10分钟左右,这个方法非常有效。
$ npm install _some_package_ --global
我需要删除 \program files 中的 nodejs 文件夹,然后再通过 msi 安装程序进行安装。似乎当我卸载 Node 时它并没有实际删除这个文件。
我曾经遇到过同样的问题,但是在尝试了这篇文章中所有的方法都无法解决后,我只好重启电脑。 所以如果你在安装后还没有尝试过重新启动电脑,请试一试。
安装后请重启电脑