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

Bazel构建报错:找不到@com_google_javascript_closure_library相关包

解决Bazel构建中找不到@com_google_javascript_closure_library//closure/goog/soy的问题

核心原因

Closure Library的新版本已将Soy(Closure Templates)拆分至独立仓库,若你的WORKSPACE配置拉取的是新版Closure Library,closure/goog/soy目录会不存在;或你拉取的Closure Library版本本身不包含该目录。

排查与修复步骤

  • 检查Closure Library依赖版本:
    打开项目根目录的WORKSPACE文件,确认@com_google_javascript_closure_library的拉取版本。若版本较新(如2021年后的版本),Soy已迁移至com_google_closure_templates独立仓库,需添加该依赖:

    http_archive(
        name = "com_google_closure_templates",
        urls = ["https://github.com/google/closure-templates/archive/refs/tags/v20240402.tar.gz"],
        strip_prefix = "closure-templates-20240402",
    )
    

    同时将BUILD文件中原本指向@com_google_javascript_closure_library//closure/goog/soy的依赖,替换为@com_google_closure_templates//soy下对应目标(例如@com_google_closure_templates//soy:soyparse)。

  • 验证外部仓库内容:
    执行命令拉取依赖并检查目录:

    bazel fetch @com_google_javascript_closure_library//...
    # 进入外部依赖目录查看
    cd bazel-<你的工作区名称>/external/com_google_javascript_closure_library/closure/goog/
    ls -l
    

    若不存在soy目录,说明当前依赖版本不包含该模块,需切换到仍包含Soy的旧版Closure Library(如v20200517),或改用独立的Closure Templates仓库。

  • 确认依赖加载配置正确性:
    若你已改用Git方式加载依赖,确保WORKSPACE中的git_repository配置正确,分支/标签指向包含closure/goog/soy的版本:

    git_repository(
        name = "com_google_javascript_closure_library",
        remote = "https://github.com/google/closure-library.git",
        tag = "v20200517", # 该版本仍包含soy目录
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:23:27