React Native安装报错:Unexpected end of JSON input问题咨询
嘿,刚接触React Native遇到这种问题很正常,先给你简单说下Jest是什么:
Jest 是Facebook官方推出的JavaScript测试框架,也是React Native项目默认推荐的测试工具,它能帮你写单元测试、组件测试,自带了断言、mock这些实用功能,后续写测试代码都会用到它~
你遇到的 Unexpected end of JSON input while parsing near '...0.0","acorn-globals":' 错误,其实和Jest本身无关,根源是npm的本地缓存出问题了——可能是之前下载依赖时网络中断、缓存文件损坏,导致npm解析缓存里的JSON文件时读到一半就没内容了,所以抛出了解析错误。
下面是具体的解决步骤,亲测有效:
第一步:强制清理npm缓存
打开命令行工具(CMD或者终端),执行这条命令清空npm的缓存:npm cache clean --force第二步:删除项目里的残留文件
进入你的项目目录D:\Dev\React-Native\Sektorian,手动删掉node_modules文件夹和package-lock.json文件(这两个文件是安装依赖时生成的,损坏后会影响重新安装)。第三步:重新安装依赖
回到命令行,在项目目录下执行你之前的安装命令,或者直接运行:npm install如果是单独安装Jest相关依赖,就用这条命令:
npm install jest babel-jest babel-preset-react-native react-test-renderer@16.3.1 --save-dev --save-exact如果还是出错?试试换个镜像源
要是清理缓存后还是失败,大概率是网络问题导致npm下载包不完整。可以切换到国内的npm镜像源(比如淘宝的),执行这条命令配置:npm config set registry https://registry.npmmirror.com/配置完再重新安装依赖就好啦。
内容的提问来源于stack exchange,提问作者Saeed Karimi

