最近升级一些第三方库,老是出现无法正常安装npm的现象。
一、问题现象
1、webpack4安装失败
// 报错信息 webpack Maximum call stack size exceeded
// 解决方案 npm i -D webpack@next,不要用npm i -D webpack
2、antd安装错误
// 报错信息 npm ERR! 404 Not Found: @ant-design/icons@~1.1.15
// 解决方案 npm i -D [email protected]
3、babel升级7失败
4、安装@handsontable/react
// 报错信息 npm ERR! Error: 404 Not Found @handsontable/react
二、究其本质
每个安装包都会依赖node,npm的版本,如果想知道安装的包是否存在,打开链接https://registry.npmjs.org/handsontable,查看对应版本依赖的node版本和npm版本。项目当中依赖的第三方包对node版本和npm版本的要求不同,此时需要做一些升级操作。
# 更新npm npm install -g npm #更新node npm cache clean -f npm install -g n n stable
我顿时产生这样的疑问,第三包如果安装失败,应该提示用户node和npm需要的版本号,或者告诉用户应该怎么操做,才能安装成功。不同的第三方对node和npm的需求是不同的,怎么能做到都支持呢?