当使用npm时出现“找不到模块'readable-stream'”的错误

3

我在Windows机器上安装了nodejs,并试图使用npm。 我从nodejs网站下载了所有文件。我尝试安装最新的4.4.2版本或5.10.1版本,但每当我尝试使用npm运行命令时都会出现错误Cannot find module 'readable-stream'

C:\Users\Ealon>node -v                                                             
v5.10.1                                                                             

C:\Users\Ealon>npm -v                                                              
module.js:341                                                                       
    throw err;                                                                      
    ^                                                                                                                                                                   
Error: Cannot find module 'readable-stream'                                         
    at Function.Module._resolveFilename (module.js:339:15)                          
    at Function.Module._load (module.js:290:25)                                     
    at Module.require (module.js:367:17)                                            
    at require (internal/module.js:16:19)                                           
    at Object.<anonymous> (C:\Users\Ealon\AppData\Roaming\npm\node_modules\npm\node
modules\npmlog\node_modules\are-we-there-yet\index.js:2:14)                         
    at Module._compile (module.js:413:34)                                           
    at Object.Module._extensions..js (module.js:422:10)                             
    at Module.load (module.js:357:32)                                               
    at Function.Module._load (module.js:314:12)                                     
    at Module.require (module.js:367:17)                                            

我尝试多次重新安装,但仍未能解决这个问题。而且另一个类似的问题中的答案并没有帮助,因为每次我尝试运行npm命令时总是出现错误。欢迎任何帮助。谢谢!


npm 似乎需要 readable-stream。你的 npm 文件夹中是否有 readable-stream 文件夹?(一般位于 C:\Program Files\nodejs\node_modules\npm\node_modules 或类似路径下) - dvlsg
@dvlsg 是的,我有它... - 6324
这很奇怪。至少可以排除掉这种情况,你之前安装过 npm 的其它版本吗?可能是全局安装的?你可以在命令行中输入 where npm 来查看是否在路径中有任何其他安装/引用。我可以看到错误信息中引用了 %appdata%\npm,我相信那是全局安装的位置。 - dvlsg
@dvlsg 感谢您的帮助。我通过在Intellij IDEA中升级npm,不知何故解决了这个问题。但我仍然不知道为什么会出现这个问题。 :( - 6324
@dvlsg 我认为你的解释很有道理。如果可能的话,你能否发表一个关于这个问题的答案,这样我就可以接受它,因为我不想接受自己的答案。谢谢! - 6324
显示剩余2条评论
4个回答

5
根据堆栈跟踪中的一行 C:\Users\Ealon\AppData\Roaming\npm\node_modules\npm\node modules\npmlog\node_modules\are-we-there-yet\index.js:2:14,我认为您安装了全局npm,该安装内部依赖于are-we-there-yet,我确认其依赖于readable-stream

全局安装的npm似乎存在问题,are-we-there-yet由于某些原因(安装错误?)无法访问readable-stream模块。

重新安装node并不能修复问题,因为默认情况下会将npm安装在程序文件夹中(路径类似于C:\Program Files\nodejs\node_modules\npm)。我认为全局版本正在运行,但应当运行程序文件夹中的版本,因此清除全局安装的npm应该能够解决问题。


我安装了最新的Node,但遇到了完全相同的问题。通过使用完全相同的解决方案——清除npm的全局安装,我成功地解决了这个问题。谢谢。 - tyrion

0

我通过在Intellij IDEA中升级npm来解决了这个问题。

enter image description here

但我仍然想要一个解释,为什么我的问题会发生那个问题。我不会将其标记为答案。


0
不需要卸载Node.js。当我尝试更新我的Node版本时,遇到了这个问题,并通过以下步骤解决了该问题 -

进入控制面板 -> 卸载程序 -> 选择Node.js

然后点击修复。


0

我在Mac上遇到了这个问题。我克隆了一个项目多次,以处理不同的分支并行开发。当我运行npm start时,只有其中一个克隆的仓库出现了相同的问题。我删除了该仓库,重新克隆后,该仓库中的nom再次正常运行。对我来说,这听起来不像是全局性的问题。我不知道出了什么问题。


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