运行npm update等命令出错后如何分析问题根源
【摘要】 我今天工作时,在当前前端项目工作目录下执行命令npm update结果遇到如下错误:registry error parsing jsonnpm ERR! Unexpected token < in JSON at position 0有些朋友遇到这个错误,就不知所措了。本文介绍如何分析npm命令报出的这些错误。首先根据错误消息判断出这是npm在解析一个json响应时出错,因为这个期望的js...
我今天工作时,在当前前端项目工作目录下执行命令npm update
结果遇到如下错误:registry error parsing json
npm ERR! Unexpected token < in JSON at position 0
有些朋友遇到这个错误,就不知所措了。
本文介绍如何分析npm命令报出的这些错误。
首先根据错误消息判断出这是npm在解析一个json响应时出错,因为这个期望的json响应第一个字符为<.
那么这个json响应的请求是从哪里来的呢?
我们需要查看命令npm update的帮助文档。
执行命令行npm help npm打开本地安装完npm后的帮助文档:
如果npm update后面不指定具体的包名,则会把package.json里列出的所有依赖包更新到最新版本。
我们再看npm update错误输出的最后一行,列出了一个日志文件,包含了错误明细。
发现是请求依赖包sap/n的包描述json文件时出的错:
在npm全局安装目录下这个request.js文件很有用:
“C:\Users\i042416\AppData\Roaming\npm\node_modules\npm\node_modules\npm-registry-client\lib\request.js”
它就是npm发起http请求拿sap/n依赖包的json文件。
我们在json请求的回调函数里加上一些调试信息的打印:
现在就清楚多了,是这个依赖包sap/n的远端有问题,直接联系这个依赖包的负责人去修复。
作为临时替代方案,也可以先把这个引起问题的依赖包从package.json中删除,之后npm update正常工作.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)