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

如何在dbt docs generate中排除dbt_packages内的codegen和dbt_utils包?

解决dbt文档中显示codegen和dbt_utils包节点的问题

正确的排除方法

临时命令行排除

执行文档生成命令时,直接通过--exclude参数指定要排除的包名称:

dbt docs generate --exclude package:codegen package:dbt_utils

之后运行dbt docs serve,打开的文档就不会包含这两个包的内容。

永久配置排除

如果不想每次执行命令都加参数,可在项目根目录的dbt_project.yml中添加以下配置:

docs:
  exclude:
    - package: codegen
    - package: dbt_utils

保存配置后,直接执行dbt docs generate和dbt docs serve即可生效。

为什么之前的方法无效?

  • 将dbt_packages加入model-paths:该操作本身错误,model-paths用于指定项目自有模型的路径,包的路径无需加入。dbt会自动处理包依赖,但强制加入后,会把包的配置文件当作项目模型配置解析,而包的yml文件中version字段通常是语义化版本(如1.1.0),不符合项目模型要求的整数版本,因此报错。
  • 在dbt_packages中添加properties.yml:包的文档由自身配置文件控制,在包目录添加自定义properties.yml不会改变项目文档的包含逻辑,因此无效果。
  • 使用tag:packages语法:默认情况下,codegen和dbt_utils包的节点不会带有packages标签,选择器无法匹配到任何节点,导致报错。正确的选择器应基于包名(package:xxx)指定排除范围。

内容的提问来源于stack exchange,提问作者garidisk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:45:31