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

简介: 我今天工作时,在当前前端项目工作目录下执行命令npm update结果遇到如下错误:registry error parsing jsonnpm ERR! Unexpected token < in JSON at position 0 有些朋友遇到这个错误,就不知所措了。

我今天工作时,在当前前端项目工作目录下执行命令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:Usersi042416AppDataRoamingnpmnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js"
它就是npm发起http请求拿sap/n依赖包的json文件。

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

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

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

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

相关文章
|
3月前
npm info 命令的用途
npm info 命令的用途
37 0
|
1月前
设置VSCode运行任务命令快捷键Alt+R,通常用于npm start(对频繁使用该命令可节省50%的输入命令行打字时间)
设置VSCode运行任务命令快捷键Alt+R,通常用于npm start(对频繁使用该命令可节省50%的输入命令行打字时间)
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
详细介绍NPM的基本使用方法、常用命令和一些实用技巧
128 0
|
5月前
|
Ubuntu
node、npm 命令升级
node、npm 命令升级
|
4月前
|
JavaScript
node.js 项目中执行 npm install 命令后看到的 idealTree inflate 的含义
node.js 项目中执行 npm install 命令后看到的 idealTree inflate 的含义
220 0
|
2月前
项目打包报错“caniuse-lite is outdated. Please run next command `npm update`”的解决方案
项目打包报错“caniuse-lite is outdated. Please run next command `npm update`”的解决方案
51 1
|
5月前
|
JavaScript 前端开发 Shell
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
NPM 自定义 package.json 中 scripts 命令(& 与 && 的区别,cross-env 的使用)
40 0
|
2月前
|
缓存 JavaScript 前端开发
【热门话题】深入浅出:npm常用命令详解与实践
**npm命令详解:**了解基本概念和安装后,通过`npm init`生成`package.json`。安装包用`install [package]`,加`--save`或`--save-dev`管理依赖。移除包用`uninstall`,更新用`update`,全局安装加`-g`。搜索包用`search`,查看依赖用`list`,检查过时包用`outdated`,审计安全用`audit`。版本控制用`version`,发布包用`publish`。掌握这些命令能提升开发效率。探索更多npm特性,加强项目管理和协作。
33 6
|
3月前
|
JavaScript 前端开发
Npm 命令大全介绍(NodeJs)
Npm 命令大全介绍(NodeJs)
38 0
|
3月前
|
JavaScript
npm list -g --depth=0 命令中 --depth 参数讲解
npm list -g --depth=0 命令中 --depth 参数讲解
34 0

推荐镜像

更多