You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 20升级后ng package build产物缺失lib文件夹问题求助

Angular 20升级后ng package build产物缺失lib文件夹问题求助

我之前升级到Angular 20的时候也遇到过一模一样的问题!折腾了好一会儿才找到原因,给你分享几个可能的解决方向:

  • 检查angular.json配置:Angular 20对库的build输出结构做了调整,你可以看看projects -> your-lib -> architect -> build -> options里的outputPath是不是直接指向了dist/your-lib,而不是嵌套的dist/your-lib/lib。新版本默认会把编译后的产物直接放在dist的库目录下,不再生成额外的lib子文件夹。你可以对比一下新创建的库项目的angular.json配置,确认是不是这个原因。

  • 更新package.json的入口字段:如果你的库package.json里还保留着旧版本的路径配置(比如main、module、exports字段指向./lib/xxx),那肯定会找不到文件。需要改成直接指向dist目录下的产物,比如./your-lib.esm.js或者./index.js,具体路径可以参考build后dist目录里的实际文件结构。

  • 确保CLI版本一致:有时候全局Angular CLI和项目本地的版本不匹配也会引发这类问题。你可以运行ng version检查一下,确保全局和本地的@angular/cli都是20.x版本。如果不一致,要么升级全局版本,要么用npx ng build your-lib来调用项目本地的CLI执行构建。

  • 清理缓存后重新构建:试试删除node_modules、dist文件夹,然后运行npm install和ng build your-lib --clean,有时候缓存残留会导致一些奇怪的输出异常。

另外你提到新建项目也出现同样情况,那大概率是Angular 20本身的输出结构变更导致的,而非你的项目配置问题。你可以查看新建项目build后的dist目录,应该能直接看到编译好的js、d.ts等文件,而不是嵌套在lib文件夹里。如果是这样,只需要调整你的引用路径或者package.json里的入口配置即可。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:45:29