运行npm update等命令出错后如何分析问题根源
我今天工作時(shí),在當(dāng)前前端項(xiàng)目工作目錄下執(zhí)行命令npm update
結(jié)果遇到如下錯(cuò)誤:registry error parsing json
npm ERR! Unexpected token < in JSON at position 0
有些朋友遇到這個(gè)錯(cuò)誤,就不知所措了。
本文介紹如何分析npm命令報(bào)出的這些錯(cuò)誤。
首先根據(jù)錯(cuò)誤消息判斷出這是npm在解析一個(gè)json響應(yīng)時(shí)出錯(cuò),因?yàn)檫@個(gè)期望的json響應(yīng)第一個(gè)字符為<.
那么這個(gè)json響應(yīng)的請求是從哪里來的呢?
我們需要查看命令npm update的幫助文檔。
執(zhí)行命令行npm help npm打開本地安裝完npm后的幫助文檔:
如果npm update后面不指定具體的包名,則會把package.json里列出的所有依賴包更新到最新版本。
我們再看npm update錯(cuò)誤輸出的最后一行,列出了一個(gè)日志文件,包含了錯(cuò)誤明細(xì)。
發(fā)現(xiàn)是請求依賴包sap/n的包描述json文件時(shí)出的錯(cuò):
在npm全局安裝目錄下這個(gè)request.js文件很有用:
“C:\Users\i042416\AppData\Roaming\npm\node_modules\npm\node_modules\npm-registry-client\lib\request.js”
它就是npm發(fā)起http請求拿sap/n依賴包的json文件。
我們在json請求的回調(diào)函數(shù)里加上一些調(diào)試信息的打印:
現(xiàn)在就清楚多了,是這個(gè)依賴包sap/n的遠(yuǎn)端有問題,直接聯(lián)系這個(gè)依賴包的負(fù)責(zé)人去修復(fù)。
作為臨時(shí)替代方案,也可以先把這個(gè)引起問題的依賴包從package.json中刪除,之后npm update正常工作.
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的运行npm update等命令出错后如何分析问题根源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 滴滴车主头像尺寸太小怎么办(如何下载滴滴
- 下一篇: 绝地求生模仿哪个游戏(《绝地求生》将于)