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

我今天工作时,在当前前端项目工作目录下执行命令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的原创文章,请关注公众号"汪子熙":

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏smy

webpack打包速度和性能再次优化

一. 改单dll为双dll ? 因为上图原因,使用CommonsChunkPlugin时,导致其打包出来的vendors.js内的模块ID会因为其他文件引用模块...

81680
来自专栏大闲人柴毛毛

Linux系统服务——Daemon

什么是Daemon? Daemon是Linux的一些系统服务,它们是一些常驻内存的进程。 Daemon分类 Daemon拥有两种分类方式,按照“daemon是...

39040
来自专栏SDNLAB

【连载-4】数据中心网络虚拟化 配置管理技术

在构建虚拟网络时,管理员需要进行大量的配置工作,例如端口的ip地址和VXLAN配置等等。显然,没有人愿意在系统每次启动时都将繁琐的配置工作重复一遍,所以将配置信...

28650
来自专栏C/C++基础

DOS常用命令大全

2010-04-17 22:27:19|  分类: 电脑技术 |  标签:dos命令大全 |字号大中小 订阅

24710
来自专栏武培轩的专栏

HTTP 0.9 HTTP 1.0 HTTP 1.1 HTTP 2.0区别

HTTP协议 :Hyper Text Transfer Protocol(超文本传输协议),是用于从万维网(WWW:World Wide Web)服务器传输超文...

32550
来自专栏Python研发

LInux50个基本命令

cd:(切换) vim:(创建文件)   vi:编辑文件 bc:(计算器)quit:退出计算器 mkdir:(创建目录)   mkdir -p:递归建立目录 r...

18030
来自专栏守候书阁

webpack+vue项目实战(一,搭建运行环境和相关配置)

现在正在开发一个公司的后台管理项目,项目是一个单页面应用。功能上就是管理销售订单的各个环节,包括物流管理,回款管理,订单管理等等的功能。这些就不多说了。项目是,...

15810
来自专栏Albert陈凯

HTTP、TCP、UDP:通信协议的规则和区别

TCP、HTTP、UDP:都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 TCP HTTP UDP三者的...

32080
来自专栏写代码的海盗

hadoop2.2.0安装需要注意的事情

今天在安装hadoop2.2.0时遇到若干问题,解决这些问题有些心得,记录下来以备不时之需。 问题1、master和slave之间不能相互ssh免密码登陆。  ...

33140
来自专栏地方网络工作室的专栏

Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本

Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本 不知道为什么,我总想用 Shell 脚本来实现把一个站点内容给下载下来。但是下载什么站点...

21250

扫码关注云+社区

领取腾讯云代金券