在uniapp项目里安装依赖,本来习惯性的用pnpm i来安装,结果运行起来一直找不到直接依赖里的子依赖,我还以为是我装的cheerio版本不对,从0.22.0到1.0.0再到1.1.2最新包反复试了多次,运行后控制台一直爆红。对@dcloudio/uni-app版本也换了好几个,发现也没什么用。
直到最后尝试换成npm i安装,立马就好了,看来是pnpm扁平化依赖目录带来的问题,uniapp一直找不到子依赖。
如果要使用pnpm,就要配置 .npmrc,把强制把子依赖都提升到根目录里。
shamefully-hoist=true
auto-install-peers=true
strict-peer-dependencies=false
来回切换依赖花了俩小时,太坑了,对pnpm支持不好创建项目的时候也没有文档说明。