首页 > 解决方案 > 无法使用 bazel 构建项目。没有方法 new_http_archive()

问题描述

我尝试使用 bazel 构建一个 github 项目(grpc),但出现此错误。由于某种原因,这种方法似乎不在我的环境中。但我不确定为什么,因为我使用的是最新的 bazel。

bazel build :all 警告:以下 rc 文件不再被读取,请将其内容或将其路径导入标准 rc 文件之一:/usr/local/google/home/ajamato/grpc/tools/bazel.rc信息:将跟踪器配置文件写入

'/usr/local/google/home/ajamato/.cache/bazel/_bazel_ajamato/7d9cb851a3ed2d28aac44248d4b651f6/command.profile.gz'
ERROR: /usr/local/google/home/ajamato/grpc/WORKSPACE:4:1: Traceback (most recent call last):
        File "/usr/local/google/home/ajamato/grpc/WORKSPACE", line 4
                grpc_deps()
        File "/usr/local/google/home/ajamato/grpc/bazel/grpc_deps.bzl", line 112, in grpc_deps
                native.http_archive(name = "boringssl", url = "https:/...")
type 'struct' has no method http_archive()
ERROR: /usr/local/google/home/ajamato/grpc/WORKSPACE:5:1: Traceback (most recent call last):
        File "/usr/local/google/home/ajamato/grpc/WORKSPACE", line 5
                grpc_test_only_deps()
        File "/usr/local/google/home/ajamato/grpc/bazel/grpc_deps.bzl", line 213, in grpc_test_only_deps
                native.new_http_archive(name = "com_github_twisted_twist...", <3 more arguments>)
type 'struct' has no method new_http_archive()
ERROR: Error evaluating WORKSPACE file
ERROR: Skipping ':all': while parsing ':all': error loading package 'external': Package 'external' contains errors
WARNING: Target pattern parsing failed.
ERROR: while parsing ':all': error loading package 'external': Package 'external' contains errors
INFO: Elapsed time: 0.063s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

关于我的环境的一些信息。

ajamato@ajamato-linux0:~/grpc$ bazel --version
bazel 1.0.1
ajamato@ajamato-linux0:~/grpc$ python --version
Python 2.7.17rc1
ajamato@ajamato-linux0:~/grpc$ python3 --version
Python 3.7.5rc1

标签: grpcbazel

解决方案


的原生版本new_http_archive在 2 月发布的 bazel 版本 0.23.0 中被删除。您使用的是旧版本的 grpc 吗?尝试使用较新版本的 grpc,它似乎正在使用以下替代品new_http_archivehttps ://github.com/grpc/grpc/blob/a711d404cc0a9d7ecb286d37302bc7a8ff25062e/bazel/grpc_deps.bzl#L3


推荐阅读