找了很久才找到适合我的解决办法。
第一步先输入 npm config set legacy-peer-deps true
、完成后再npm install
即可
1. npm config set legacy-peer-deps true
2. npm install
关于 npm config set legacy-peer-deps true 的解释:
在使用npm安装依赖包时,有时会出现版本不兼容的问题,导致安装失败。为了解决这个问题,npm引入了“peer dependencies”( peerDependencies)的概念。 Peer dependencies 是指依赖包的作者声明的,这个依赖包必须安装的其他依赖包版本。这些依赖包需要手动安装,并且安装的版本需要符合作者的要求。 在
npm 5.x
版本之前,如果安装依赖包时,依赖包的版本和peer dependencies的版本不匹配,npm会直接报错,阻止安装的进行。
但是在npm 5.x版本之后,npm 引入了“自动安装peer dependencies”的功能,即npm会自动检测依赖包的peer dependencies,并且自动安装。 而npm config set legacy-peer-deps true
则是关闭了这个功能,使用npm 5.x之前的版本的行为,即不允许自动安装peer dependencies,只有手动安装。这样可以避免安装时出现版本不匹配的错误
这命令也可以单独去安装某个插件
npm install axios --legacy-peer-deps
未解决的方法
- 刚开始按照运行提示输入
npm install legacy --force
强制安装低版本的依赖、也没用。
也可以试试安装vue/cli对应的版本@vue/cli@版本号比如4.23
npm install @vue/cli@4.23