如何通过Bazel CLI获取external目录的绝对路径与符号链接路径
通过Bazel CLI获取external目录路径的方法
你要的两类路径都可以通过内置的bazel info命令组合拿到,不需要手动猜测项目名拼接:
external目录的绝对物理路径
这个是远程依赖实际下载、存放的真实磁盘路径,直接执行下面的命令就能输出:echo "$(bazel info output_base)/external"脚本里可以直接用
$(bazel info output_base)/external引用,拿到的是没有经过符号链接的真实路径。工作区根目录下的符号链接访问路径
也就是你提到的bazel-<项目名>/external形式的路径,执行下面的命令可以直接拿到相对于工作区根的软链路径:echo "bazel-$(basename "$(bazel info workspace)")/external"这个路径从工作区根目录可以直接访问,软链最终指向上面的物理路径,两边内容完全一致。
如果需要拿到这个软链的完整绝对路径(带软链前缀,不是物理真实路径),用下面的命令即可:
echo "$(bazel info workspace)/bazel-$(basename "$(bazel info workspace)")/external"
注意:如果你在
.bazelrc里手动修改过便捷符号链接的命名规则,上面的软链路径命令需要对应调整,默认配置下输出完全准确。
内容的提问来源于stack exchange,提问作者sdgfsdh
相关产品推荐
相关产品推荐

