事情是这样的,用的开源pure-admin 的框架,用的是pnpm,本地环境都是可以的,但是发布到生成就报以下错误
然后看部署参数,是这样的,强制用了lock文件,本来也没问题
报错的意思是json 文件跟pnpm-lock.json 文件不匹配
但是本地看着是匹配的,随便挑选几个包版本看着也是一致的
然后重新删除本地 node_modules,重新生成pnpm-lock.json ,本地可以,推到测试不行
最后紧急解决,用了pnpm install --no-frozen-lockfile 文件,发布提测成功,但是这样不是长久之计。
终于机智的我,想到可能pnpm版本导致的问题嘛,毕竟node的版本是一样的,都是16.18.1,于是打印了pnpm版本
果然版本不一样,我本地pnpm 是6.11.0的,我卸载并且重新安装了8.10.0
本地卸载 npm rm -g pnpm
本地重新安装 npm install [email protected] -g
重新安装完,果然复现了生产的问题
然后重新删除了本地的pnpm-lock.yaml 文件,并且删除node_modules 重新生成,执行pnpm install
生成新的 pnpm-lock.yaml 文件,本地就好啦
然后推送到生产环境,就好啦,不用再改成 --no-frozen-lockfile 啦
撒花撒花撒花
标签:LOCKFILE,lock,version,本地,pnpm,lockfile From: https://www.cnblogs.com/dongjingya/p/17897479.html