实验室的服务器没有梯子www,如果再来一次我会选择搭梯子,而不是以下的解决方法。因为这样做,我安装了四个小时。Orz
我的解决方法
- 在本地添加建一个文件夹,作为spack本地的mirrors,命令如下:
mirror 的使用:需要 spack mirror add 来添加服务器或本地的 mirror,本地 url 采用 file://path/to/mirror 的格式。spack config edit mirrors 可以修改 mirrors.yaml 从而调整 mirror 的使用顺序。
也就是说,可以这样添加mirrors:
spack mirror add file://您的mirror路径
其实添加的就是一个文件夹的路径。
2. 当您添加本地mirror之后,运行安装需要安装的程序,出现无法下载的情况,就会出现一段很长的报错。报错会提示无法下载的依赖在本地mirror中的路径以及文件名。
3. 将联机无法下载的依赖下载到自己的电脑上(因为我自己电脑,有梯子下载的很快hhh如果自己电脑上没有梯子的话,可能还是无法下载哦Orz),并上传该依赖到服务器。
4. 将上传的依赖包按照报错中的路径存储,存储情况如下图:
就是按照那一长串报错来的,不要忘记文件名也要对应的修改哦!因为有的依赖包的名字在mirror中的名字跟原文件的名字不一样。
5. 再次运行,该依赖就可以按照spack安装了。
后话
有一说一,我这种方法很傻很zz,因为spack本来应该是为了方便安装而设计出来的包管理器,这样用的话根本就是放弃了spack的实用性。但是没办法,我没有在网络上找到spcak的国内镜像源(如果您有spack国内镜像的话,欢迎私信或者下方留言给我哦)。
另外,如果您有其他更好的方法,也欢迎给我留言或者私信Orz