执行npm init生成json时提示json安装错误如何解决
npm init生成json文件时报json安装错误的解决方法
故障原因
npm init是npm自带的内置命令,核心作用是交互式生成项目的package.json配置文件,正常执行时完全不需要额外安装名为json的第三方包。出现该报错的核心原因是本地npm配置被篡改,init命令的默认逻辑被替换成了安装第三方json包的流程,常见诱因包括:- 之前安装过带恶意脚本的npm包,自动篡改了本地npm配置
- 手动修改npm配置时误改了
init-module相关配置项 - npm本地缓存损坏、全局目录权限不足
- 使用了被篡改的非官方npm镜像源
- node/npm版本过旧存在已知兼容bug
修复操作步骤
按顺序执行以下操作即可恢复:
- 重置npm init相关的自定义配置,恢复命令默认逻辑,终端执行以下两条命令:
npm config delete init-module npm config delete init-license - 强制清理本地损坏的npm缓存:
npm cache clean --force - 若你使用macOS/Linux系统,大概率存在npm全局目录权限问题,执行命令修复目录归属,不要用sudo强行执行npm命令:
sudo chown -R $USER:$USER ~/.npm - 进入你要生成配置文件的项目目录,重新执行
npm init,按照终端提示依次输入项目名称、版本号、入口文件路径等信息,全部确认后即可正常生成package.json文件。 - 如果不想走交互式填写流程,直接执行
npm init -y即可直接用默认配置生成目标json文件,不需要额外安装任何依赖。
日常使用时不要随意切换无资质的第三方npm镜像源,不要执行来源不明的npm全局安装/配置修改命令,避免npm命令逻辑被恶意篡改。
内容的提问来源于stack exchange,提问作者Adeel Ahmad
相关产品推荐
相关产品推荐

