`
JerryWang_SAP
  • 浏览: 1033903 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

运行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的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

    npm常用命令

    安装完成后,可以创建一个新的Node.js项目,并通过`npm init`命令初始化。这个命令会生成一个`package.json`文件,其中包含了项目的元数据,如项目名、版本、作者等,以及依赖项列表。 二、安装依赖 1. 安装全局包...

    详解Vue项目在其他电脑npm run dev运行报错的解决方法

    在进行Vue项目开发时,我们经常会遇到在不同电脑上运行项目时...通过这些步骤,开发者可以有效地解决在不同环境下的运行问题,保证项目的顺利进行。希望这些知识点能够对大家在Vue项目开发中遇到的类似问题提供帮助。

    nodejs的npm常用命令集合.docx

    NPM 提供了大量的命令来帮助开发者处理各种任务,如安装、更新、卸载包等。 #### NPM 基础命令 ##### `npm help` - **命令**: `npm help` - **功能**: 查看所有可用命令的帮助文档。 - **示例**: `npm help` 将列...

    npm常用的各种命令详解

    - **说明**: 执行该命令后,npm会询问一系列关于项目的问题,如项目名称、版本号、描述、主入口文件等,并根据输入的信息自动生成`package.json`文件。 - **注意**: 随着前端开发工具链的发展,直接使用`npm init`...

    git-npm:懒惰开发者的工具,直接通过git运行npm命令,变得更加懒惰

    由于我们经常使用git来管理Web项目,因此经常将npm命令与git混合使用会出错,例如,我们错误地键入git install而不是npm install或git start而不是npm start等。 然后,此工具将解决这些问题:现在,您可以直接通过...

    npm-update-outdated:使用一个命令更新所有过时的节点模块

    npm-update-过期 为了更新与字符串或正则表达式模式匹配的模块,该模块将命令与--filter选项进行了包装。 默认情况下, npm-update-outdated会将项目的每个节点依赖项更新为npm outdated命令显示的所需版本。安装 ...

    npmexclude:从 npm install 和 npm update 中排除模块

    我制作这个工具是因为我假设npm install和npm update如果其中一个模块失败,则不会安装任何模块。 这个假设是不正确的; 显然我没有给予足够的重视。 我想如果您想抑制错误消息,这个工具仍然很有用,但重定向 ...

    dotenv-load:运行npm或yarn命令时,从.env,.env.local,.env.production等加载环境变量

    文件加载 运行npm或yarn命令时,从.env , .env.local , .env.production等加载环境变量。 这种dotenv加载行为是从提取的,也可以用于非create-react-app项目,例如或任何其他特定于node项目。用法在yarn或npm命令...

    npm-cli-6.11.3.zip

    9. **源码分析**:由于提供了源码,开发者可以深入理解npm的工作机制,学习其内部如何处理依赖、缓存、安装过程等。这有助于自定义npm行为或者对npm进行扩展。 10. **社区资源**:npm拥有庞大的社区和丰富的开源库...

    version-update-nagger获取npm软件包版本更新的CLI

    4. **解读报告**:根据输出的报告,决定哪些包需要更新,然后手动或者通过脚本更新`package.json`和`package-lock.json`文件,最后执行`npm update`或`yarn upgrade`命令来更新依赖。 **最佳实践** 1. **定期运行*...

    node环境编译工具-npm

    同时,Vue CLI(Vue的命令行工具)也利用NPM来初始化新项目、安装依赖和运行构建任务。 ### NPM的常见命令 - `npm init`:创建一个`package.json`文件。 - `npm install`:安装指定模块,若无参数则安装`...

    npm-check:检查过期、错误、无用的依赖.zip

    使用 `npm update &lt;package&gt;` 或 `npm uninstall &lt;package&gt;` 命令来进行操作。 4. 配置:npm-check 还支持自定义配置,例如忽略某些不想更新的依赖,或者设置更新的范围(比如只更新到最新稳定版)。这可以通过创建...

    解决nodejs的npm命令无反应的问题

    关于如何解决Node.js的npm命令无反应的问题,这是一个许多Node.js开发者都会遇到的问题,特别是对于初学者来说,可能会因为一个小错误而花费很长时间来解决。我们先来了解npm是什么,然后探讨遇到npm命令无反应的...

    NPM常用命令

    NPM -&gt; Node 包管理器(node package manager)是一个由 Node.js 官方提供的第三方包管理工具。是 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。...这里例举一些npm的常用命令。

    NPM介绍和常用命令的使用(带示例)

    5. `npm update`:更新指定包到最新版本。 6. `npm uninstall`:卸载指定包。 7. `npm list`:列出当前项目已安装的包及其依赖结构。 8. `npm list -g`:列出全局已安装的包。 9. `npm config list`:查看npm的配置...

    使用npm命令提示: npm 不是内部或外部命令,也不是可运行的程序的处理方法

     接着我们在使用npm安装依赖的时候有时候会出现“’npm’ 不是内部或外部命令,也不是可运行的程序”的提示,此时我们先查看环境变量 知道3所指的路径,你会看到下图只有一个etc文件,没有马赛克部分内容,没有npm...

    npm.nodejs

    - 升级包:`npm update &lt;package&gt;`更新指定包到最新版本,`npm update`则更新所有包。 - 卸载包:`npm uninstall &lt;package&gt;`。 5. **脚本执行** - `scripts`字段:`package.json`中的`scripts`部分可以定义...

    ConnectionStrings VUE的helloworld项目1 运行命令 npm run serve

    ConnectionStrings VUE的helloworld项目1 运行命令 npm run serve

    NodeJs&NPM;安装包.rar

    5. 更新Node.js和npm:随着时间的推移,Node.js和npm会有新的版本发布,你可以通过`npm install -g node`和`npm update -g npm`命令来全局更新它们。注意,全局更新Node.js可能需要管理员权限。 6. 安装包的本地化...

    npm install 报错解决方法

    在使用Node.js开发环境时,`npm install`是开发者经常执行的一个命令,它用于安装项目中定义的依赖包。然而,这个过程有时会出现各种错误,让开发者感到困扰。本篇文章将详细探讨`npm install`可能出现的错误以及...

Global site tag (gtag.js) - Google Analytics