Node.js/Windows错误:ENOENT,统计'C:\ Users \ RT \ AppData \ Roaming \ npm'

1066
我用的是 Windows 7 32 位操作系统。我安装了最新的32位Node.js
当我尝试运行命令npm install jquery时,我收到以下错误消息:

Error: ENOENT, stat 'C:\Users\RT\AppData\Roaming\npm

如何解决这个问题?


6
尝试以管理员身份运行命令提示符。 - skjagini
4
以管理员身份运行命令提示符,创建文件夹。 - James Westgate
为了记住错误,您可以将其读作“错误:NO ENTry”。因此,请检查目录是否存在,否则创建一个新目录。如果没有访问权限,则可以以管理员身份运行命令提示符。尽管对于无访问权限错误,node.js通常会出现EACCESS错误。 - codersaif
Google员工们,还要注意的是,当您在路径上犯了小错误时,例如res.sendfile('pathSlightlyWrong/posts.html')(在Windows 7下经常出现),您可能会收到此消息作为“未找到答案”的回复。 - Frank N
我的未处理事件错误在这个答案中得到了修复 https://dev59.com/D6nka4cB1Zd3GeqPHgQB#52441411 - Natesh bhat
总是要滚动到获得1,000个赞的答案之后,然后阅读其他的回答... - bobobobo
8个回答

1929
在显示的路径中手动创建名为“npm”的文件夹可以解决该问题。 更多信息请参见故障排除页面

32
安装程序似乎有一个漏洞。 - amcdnl
41
这个 bug 在某个跟踪器里吗?这让使用 nodejs 的第一次体验非常糟糕。 - Roman Starkov
22
最近发布的Node.js版本似乎存在一个bug。几个月前没有这个问题。我不得不手动创建文件夹才能在Windows 8.1 x64上使其正常工作。 - Sahas Katta
3
对于后来着陆在这里的人,这是一个已经报告的问题,具体信息请参考 npm/npm#5905joyent/node#8117 - Chad
8
顺便提一下,三个月后它还没有被修复 :( - Sliq
显示剩余17条评论

142

这也可以通过手动安装一个Node软件包来解决。

npm install npm -g

执行该过程将设置所有必需的目录。


1
这是唯一对我有效的方法。需要使用“全局模式”(-g)以便将软件包安装到您的<nodejs应用程序路径>中,它会将它们放置在“node_modules”文件夹中。否则,它将在本地模式下运行,并尝试将文件和目录放置在您当前所在的任何路径中。有时,即使以管理员身份运行,您也会遇到目录访问问题。 - Justin Russo
这是唯一一个对我有效的解决方案,我也在运行64位安装程序的Win 8.1上使用它。谢谢! - RyGuy
7
这是最干净的解决方案! - Dennkster
1
这也适用于在OSX上遇到相同问题,尽管文件路径不同。 - Ed Sykes
1
对我来说很有效。谢谢。 - Gurpreet Singh
显示剩余2条评论

114

在使用npm安装软件包时,我遇到了同样的问题。

手动在C:\Users\UserName\AppData\Roaming\ 文件夹下创建npm文件夹后,特定的错误消失了。但随后npm尝试创建其他目录并且失败,导致多个类似的错误出现。问题在以管理员身份运行命令提示符后得到解决。


6
是的,我也一样 - Win7 和 64 位。你需要创建一个新文件夹,然后在以管理员身份运行的命令提示符上执行 npm 命令。 - Aniket Thakur
1
在Windows 10中我也遇到了同样的问题。感谢您的提示。 - Nate
重新安装Node,删除C:\ Users \ UserName \ AppData \ Roaming中的npm和npm-cache文件夹,并在命令提示符下以管理员身份再次添加文件夹后,它就可以正常工作了。 - Jens Stigaard

11

我建议为你的npm模块设置一个替代位置。

npm config set prefix C:\Dev\npm-repository\npm --global 
npm config set cache C:\Dev\npm-repository\npm-cache --global  

当然,你可以将位置设置为最合适的地方。

这对我很有效,而且可以避免可能会遇到的任何权限问题。


2
你可以打开开始菜单,搜索 Node.js 图标并打开 shell 然后使用以下命令安装任何内容:
install <packagename> -g

1
你需要在显示的路径 C:\Users\$userName\AppData\Roaming\ 中创建一个名为 'npm' 的文件夹来解决这个问题。

enter image description here enter image description here


0

0
我需要从Github上获取一个用Typscript编写的软件包。我从主分支中拉取了最新版本的代码到我的主项目根目录下。然后我进入该目录并执行了npm install命令,以便生成ES5模块的gulp命令可以正常工作。总之,长话短说,我的构建过程试图从这个新文件夹中构建文件,所以我不得不将其移出我的根目录。这导致了相同的错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接