pnpm+Lerna monorepo新增PackageA后,pnpm install报工作区包未找到错误
解决pnpm + Lerna monorepo中新增包无法被识别的问题
以下是导致该错误的常见原因及排查方向:
PackageA的package.json名称不匹配
检查<PackageA>根目录下的package.json,确保name字段严格等于@mynamespace/<PackageA>——pnpm对包名的匹配是精确的,大小写、命名空间符号都不能出错。同时确认这个package.json必须放在<PackageA>的根目录,不能嵌套在子文件夹里。pnpm workspace配置未包含PackageA
打开项目根目录的pnpm-workspace.yaml,查看packages数组是否包含<PackageA>的路径。如果用通配符(比如packages/*),要确认通配符能覆盖到新增的包;如果通配符没生效,可手动添加路径:packages: - 'packages/*' - 'packages/<PackageA>'Lerna的包扫描范围未更新
检查根目录的lerna.json,确认packages字段包含<PackageA>的路径。Lerna需要识别到该包才能将其纳入monorepo管理,示例配置:{ "packages": ["packages/*"], "version": "independent" }缓存或未同步的残留问题
尝试清除pnpm缓存后重新安装:pnpm store prune pnpm install也可以删除根目录和所有包下的
node_modules文件夹,以及pnpm-lock.yaml文件,再重新执行安装命令。路径或包名拼写错误
核对<PackageB>的package.json中依赖的包名拼写,包括命名空间、大小写和特殊符号;同时确认<PackageA>在packages目录下的文件夹名称是否和配置中的路径一致,比如文件夹名是否为<PackageA>而非其他变体。
内容的提问来源于stack exchange,提问作者FluffyBike
相关产品推荐
相关产品推荐

