Build 如何在bazel中获取外部依赖项

Build 如何在bazel中获取外部依赖项,build,bazel,external-dependencies,http-archive,Build,Bazel,External Dependencies,Http Archive,我希望bazel从URL获取外部依赖项。该文件是一个rpm文件。 我在根目录中的工作区文件中添加了以下内容: http_archive( name = "mylib", url = "someURL/somefile.rpm", build_file = "example.BUILD" ) 当我尝试时: bazel fetch @mylib//... 它说: "com.google.devtools.build.lib.syntax.EvalException: Ex

我希望bazel从URL获取外部依赖项。该文件是一个rpm文件。 我在根目录中的工作区文件中添加了以下内容:

http_archive(
    name = "mylib",
    url = "someURL/somefile.rpm",
    build_file = "example.BUILD"
)
当我尝试时:

bazel fetch @mylib//...
它说:

"com.google.devtools.build.lib.syntax.EvalException: Expected a file with a .zip, .jar, .war, .tar, .tar.gz, .tgz, .tar.xz, .txz, or .tar.bz2 suffix"
基本上,它不允许下载rpm deps。我怎样才能做到这一点?
如何下载rpm类型的外部依赖项。

您正在尝试获取
.rpm
文件,但bazel似乎只接受后缀为
.zip、.jar、.war、.tar、.tar.gz、.tgz、.tar.xz、.txz或.tar.bz2的存档文件,而您正在尝试获取
.rpm
文件,但bazel似乎只接受后缀为
.zip、.jar、.war、.tar、.tar.gz、.tgz、.tar.xz、.txz或.tar.bz2的归档文件,您现在肯定已经明白了。
正如@sebastian nowak所评论的,您可以执行以下操作:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

http_file(
    name = "mylib",
    url = "someURL/somefile.rpm"
)
在您的
示例.BUILD
中,使用
@mylib//file


(来源:)

你现在肯定明白了。 正如@sebastian nowak所评论的,您可以执行以下操作:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

http_file(
    name = "mylib",
    url = "someURL/somefile.rpm"
)
在您的
示例.BUILD
中,使用
@mylib//file


(来源:)

这样的信息,真是太棒了!这是显而易见的。我在问如何实现它。@ShayanAnwar:你可以试着使用
http\u文件
,然后自己解包这些信息,太棒了!这是显而易见的。我在问如何实现它。@ShayanAnwar:你可以尝试使用
http\u文件
并自己解包