执行sudo npm install create-react-app -g时遇shasum校验失败等错误求助
我来帮你搞定这个安装create-react-app时碰到的麻烦,你遇到的shasum校验失败和JSON输入意外结束的问题,大多是npm缓存损坏或者网络镜像不稳定导致的,给你几个实用的解决步骤:
步骤1:强制清理npm缓存
缓存的安装包很可能已经损坏,先把它清干净:
npm cache clean --force
步骤2:切换稳定的npm镜像源
官方npm源有时候访问不稳定,导致下载的包不完整,换成国内的镜像试试:
npm config set registry https://registry.npmmirror.com
之后再重新执行安装命令:
sudo npm install create-react-app -g
步骤3:手动删除损坏的临时文件
错误提示里提到了/tmp/npm-16477-77596b49这个临时目录,直接删掉它:
sudo rm -rf /tmp/npm-16477-77596b49
删完之后再重新运行安装命令。
额外建议:升级node和npm版本
你的node(v6.11.4)和npm(v3.5.2)版本比较老旧了,老版本的npm本身可能存在一些兼容性问题,建议升级到稳定版本:
- 如果用nvm管理node版本,执行:
nvm install --lts - 也可以直接去node官网下载最新的长期支持版安装包进行升级
附你遇到的详细错误信息:
npm ERR! Linux 4.13.0-39-generic;npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "i" "create-react-app" "-g";npm ERR! node v6.11.4;npm ERR! npm v3.5.2;npm ERR! /tmp/npm-16477-77596b49/registry.npmjs.org/tar/-/tar-2.2.1.tgz的shasum校验失败;npm ERR! 预期值:8e4d2a256c0e2185c6b18ad694aec968b83cb1d1;npm ERR! 实际值:5eb06eb521673d0940a4deb11baf89d62647f193;npm ERR! 来源:https://registry.npmjs.org/tar/-/tar-2.2.1.tgz的内容
内容的提问来源于stack exchange,提问作者DilipCoder

