在 Windows 台机器上构建 Bazel
Building Bazel on a Windows machine
我正在尝试在 Windows 机器上构建 bazel,但是 bazel build //src:bazel
没有找到任何要构建的目标:
$ bazel build //src:bazel
Loading:
Loading: 0 packages loaded
INFO: Analysed 0 targets (0 packages loaded).
INFO: Found 0 targets...
[0 / 1] [-----] BazelWorkspaceStatusAction stable-status.txt
INFO: Elapsed time: 0.389s, Critical Path: 0.01s
INFO: Build completed successfully, 1 total action
需要说明的是:这只发生在 master 上,我能够在我的 Windows机.
为了确保我的 0.10.1 二进制文件没问题,我构建了 cpp 示例 (//examples/cpp:hello-world)。它按预期工作 - 没有失败。
我能够在 Linux 和 macOS 机器上构建稳定的 dist 版本(即 0.10.1)bazel master。
如有任何帮助,我们将不胜感激。
看来您是来自 MSYS Bash 的 运行 Bazel。这不再是必需的,因为 Bazel 自版本 0.5.0.
以来是本机 Windows 二进制文件
MSYS 认为参数 //src:bazel
是一个 Unix-style 路径(因为它以 /
开头)所以它将 Bazel 的 "path" 转换为 Windows 小路。 IIRC 转换逻辑只是删除了一个 /
并且目标模式最终成为 /src:bazel
.
作为解决方案,我建议采用以下方法之一:
运行 来自 cmd.exe
或 Powershell 的 Bazel。这就是我使用 Bazel 的方式,它按预期工作。
在 MSYS 中禁用路径转换启发式:
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
在目标路径中使用///
代替//
。这个只在MSYS下有效,我觉得不靠谱,因为我不了解MSYS的路径转换逻辑,所以不推荐这个方案,但还是在这里:
bazel build ///src:bazel
我正在尝试在 Windows 机器上构建 bazel,但是 bazel build //src:bazel
没有找到任何要构建的目标:
$ bazel build //src:bazel
Loading:
Loading: 0 packages loaded
INFO: Analysed 0 targets (0 packages loaded).
INFO: Found 0 targets...
[0 / 1] [-----] BazelWorkspaceStatusAction stable-status.txt
INFO: Elapsed time: 0.389s, Critical Path: 0.01s
INFO: Build completed successfully, 1 total action
需要说明的是:这只发生在 master 上,我能够在我的 Windows机.
为了确保我的 0.10.1 二进制文件没问题,我构建了 cpp 示例 (//examples/cpp:hello-world)。它按预期工作 - 没有失败。
我能够在 Linux 和 macOS 机器上构建稳定的 dist 版本(即 0.10.1)bazel master。
如有任何帮助,我们将不胜感激。
看来您是来自 MSYS Bash 的 运行 Bazel。这不再是必需的,因为 Bazel 自版本 0.5.0.
以来是本机 Windows 二进制文件MSYS 认为参数 //src:bazel
是一个 Unix-style 路径(因为它以 /
开头)所以它将 Bazel 的 "path" 转换为 Windows 小路。 IIRC 转换逻辑只是删除了一个 /
并且目标模式最终成为 /src:bazel
.
作为解决方案,我建议采用以下方法之一:
运行 来自
cmd.exe
或 Powershell 的 Bazel。这就是我使用 Bazel 的方式,它按预期工作。在 MSYS 中禁用路径转换启发式:
export MSYS_NO_PATHCONV=1 export MSYS2_ARG_CONV_EXCL="*"
在目标路径中使用
///
代替//
。这个只在MSYS下有效,我觉得不靠谱,因为我不了解MSYS的路径转换逻辑,所以不推荐这个方案,但还是在这里:bazel build ///src:bazel