运行npm update等命令出错后如何分析问题根源

我今天工做时,在当前前端项目工做目录下执行命令npm update 结果遇到以下错误:registry error parsing json npm ERR! Unexpected token < in JSON at position 0 前端

有些朋友遇到这个错误,就不知所措了。 本文介绍如何分析npm命令报出的这些错误。node

首先根据错误消息判断出这是npm在解析一个json响应时出错,由于这个指望的json响应第一个字符为<.npm

那么这个json响应的请求是从哪里来的呢?json

咱们须要查看命令npm update的帮助文档。函数

执行命令行npm help npm打开本地安装完npm后的帮助文档: 命令行

若是npm update后面不指定具体的包名,则会把package.json里列出的全部依赖包更新到最新版本。3d

咱们再看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文件。blog

咱们在json请求的回调函数里加上一些调试信息的打印:

如今就清楚多了,是这个依赖包sap/n的远端有问题,直接联系这个依赖包的负责人去修复。

做为临时替代方案,也能够先把这个引发问题的依赖包从package.json中删除,以后npm update正常工做.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

相关文章
相关标签/搜索