首次使用Weex开发Hybrid APP,更新weexpack时SHA1校验失败求助
解决Weex更新weexpack时的npm EINTEGRITY错误
这个EINTEGRITY错误本质是本地npm缓存的包校验和与远程仓库的校验值不匹配,导致安装过程中校验失败。下面是几个逐步排查的解决方法:
第一步:强制清理npm缓存
缓存的旧包是最常见的诱因,先执行强制清理命令:npm cache clean --force清理完成后,可以用
npm cache verify命令验证缓存是否正常。第二步:彻底卸载旧版weexpack
如果之前已经安装过weexpack,残留的文件可能干扰新安装,先全局卸载:npm uninstall -g weexpack可以用
npm list -g --depth=0命令查看全局包列表,确认weexpack已经被移除。第三步:重新安装指定版本的weexpack
直接安装目标版本,如果还是遇到校验问题,可以加上--no-shrinkwrap参数跳过shrinkwrap文件的校验:npm install -g weexpack@1.2.1 # 如果上面的命令失败,试试这个 npm install -g weexpack@1.2.1 --no-shrinkwrap第四步:切换npm源(可选)
如果是源的问题导致校验值不匹配,可以切换到国内的镜像源,比如淘宝镜像:npm config set registry https://registry.npmmirror.com/切换完成后再重新执行安装命令。
第五步:验证安装结果
安装完成后,执行以下命令确认版本正确:weexpack -v如果显示
1.2.1,就可以再次尝试weex run android了。
额外提示:如果是Windows系统,建议用管理员权限打开命令提示符执行命令;Mac/Linux用户如果遇到权限问题,可以在命令前加sudo(注意谨慎使用sudo,避免权限混乱)。
内容的提问来源于stack exchange,提问作者Rowling.Joe
相关产品推荐
相关产品推荐

