grpc - 无法使用 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
解决方案
的原生版本new_http_archive
在 2 月发布的 bazel 版本 0.23.0 中被删除。您使用的是旧版本的 grpc 吗?尝试使用较新版本的 grpc,它似乎正在使用以下替代品new_http_archive
:
https ://github.com/grpc/grpc/blob/a711d404cc0a9d7ecb286d37302bc7a8ff25062e/bazel/grpc_deps.bzl#L3
推荐阅读
- javascript - 获取:错误类型错误:_this.props.saveFileInputAnswer 不是函数
- javascript - 如何检测在iframe javascript中点击了哪个元素
- java - Java:使用 HTTPUrlConnection 下载的 ZIP 文件已损坏
- php - 如何使用不是我的父主题的主题模板
- gcc - 在交叉编译 gcc binutils 和 glibc 之类的东西时如何使用 --with-cpu 和 --with-arch
- node.js - Node 只下载某些 url 的部分图片
- awk - 使用 awk 更改文件中第一列的值
- python - Dask 线程如何与 OpenBLAS/MKL/... 交互?
- sql - 字符串以字符结尾
- wmi - 仅使用 wmi 类获取磁盘空间大小,仅此而已