visual-studio-code - 如何使用 bazel 将所有依赖项下载到本地?
问题描述
我有一个用 bazel 构建的项目。当我用vs-code打开项目时,发现很多头文件都找不到,例如:
#include <grpc++/grpc++.h>
但是构建成功。我认为是由于对bazel的依赖,
remote_workspace(
name = "com_github_grpc_grpc",
remote = "https://github.com/grpc/grpc",
tag = "1.21.3",
patches = ["@//bazel/patches:grpc.patch"],
patch_args = ["-p1"],
)
有没有办法将所有 bazel 依赖项下载到我的本地机器上,以便 vs-code 可以找到所有文件?
解决方案
如果构建成功,则文件已经在您的计算机上。你只需要告诉 vs-code 在哪里。
Bazel 将所有外部存储库具体化在<execution_root>/external/
. 这<execution_root>
是 Bazel 在其输出树中创建的目录,您可以通过运行找到它的路径bazel info execution_root
。在它下面,您会看到external/
,在它下面您会找到存储库。
但是,您可能必须为 vs-code 提供静态路径,而不是命令。幸运的是,有一种更方便的方法。在构建之后查看您的工作区目录:查看bazel-bin
和其他bazel-*
目录?这些实际上是符号链接,其中一个被称为类似bazel-myproject
,其中“myproject”是您的工作区目录的名称。这个符号链接也指向<execution_root>
,所以你可以告诉 vs-code 在bazel-myproject/external/com_github_grpc_grpc
.
推荐阅读
- linux - 计算 csv 文件的列数
- php - 如何在php活动记录中将对象转换为数组
- android - 如何解决 kotlin 中的重复功能不起作用
- android - 如何在 Flutter 中访问 DocumentReference 数组?
- reactjs - 在 JSON 数据中的可选字段的情况下找不到 AG-GRID 字段
- python - 登录 admin 后 Django 开发服务器停止
- css - Css负z-index在另一个元素内不起作用
- c# - 如何使用自己的模型映射 REST 实体
- ruby-on-rails - 模型中未定义的模块方法
- azure - 如何找到azure静态网站的DNS A记录?