我无法使“ spack mirror add”正常工作

问题描述

我决定要使用spack安装.one{ font-size:xx-large; } .two{ font-size:larger; },所以我运行了命令<!DOCTYPE html> <head> <title>CSS</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1 class="one">hello</h1> <h1 class="two">hello</h1> </body> </html>。这会尝试下载不再存在的gcc@10.2

我从有效的镜像下载了spack --insecure install gcc@10.2,并试图添加镜像。

我尝试过以下形式的变体

https://ftpmirror.gnu.org/gcc/gcc-10.2/gcc-10.2.tar.xz

但是,gcc-10.2.tar.xz仍然给出相同的答案。

我不知道如何使spack使用镜像进行安装。我想念什么?

解决方法

我的理解是,您将首先使用spack来创建镜像,例如:

spack mirror create -d /tmp/mirror gcc@10.2.0 

这将创建目录/ tmp / mirror并将tarball下载到/ tmp / mirror_source_cache,并带有指向/ tmp / mirror / gcc的符号链接:

$ ll /tmp/mirror/gcc/gcc-10.2.0.tar.xz 
lrwxrwxrwx. 1 willmore jlse 99 Nov 30 20:32 /tmp/mirror/gcc/gcc-10.2.0.tar.xz -> ../_source-cache/archive/b8/b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c.tar.xz

即使您无法使用spack mirror create自动创建镜像,也可以将tarball直接放在该符号链接所在的位置。

然后添加镜像(即该目录):

spack mirror add my_mirror file:///tmp/mirror

TLDR:镜子不仅是tarball,而且还包含tarball。另外,您可以尝试添加公共镜像:

spack-public    https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/