我尝试使用 bazel 构建 github 项目 ( grpc ),但出现此错误。由于某种原因,似乎这种方法不适合我的环境。但我不知道为什么,因为我使用的是最新的 bazel。
巴泽尔构建:全部 警告:不再读取以下 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
最佳答案
原生版本的 new_http_archive
已在二月份发布的 bazel 版本 0.23.0 中删除。您使用的是旧版本的 grpc 吗?尝试使用较新版本的 grpc,它似乎正在使用 new_http_archive
的替代品:
https://github.com/grpc/grpc/blob/a711d404cc0a9d7ecb286d37302bc7a8ff25062e/bazel/grpc_deps.bzl#L3
关于grpc - 无法使用 bazel 构建项目。没有方法 new_http_archive(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58924628/