在此之前,我尝试过这个插件但是没有成功。今天又一次尝试,主要的原因是因为这个插件其实用于管理平台迁移时候的插件字节码生成很有帮助。我在多个平台切换的时候,遇到过重新编译整个插件的文件夹elisp文件失败的情况。

         插件的安装,在spacemacs中比较简单。

589_在spacemacs中使用elpa mirror插件_emacs

         只需要在这个列表中增加这个插件的名字,之后重启emacs即可。如果是简单起见,可以直接SPC feR让配置重新生效。

         安装插件结束后,在配置中增加如下配置:

(require 'elpa-mirror)

         这个配置的增加点,建议是直接放在init.el中而不是在spacemacs的配置文件中。配置生效之后,输入M-x elpamr-create-mirror-for-installed,执行相应的插件功能来创建本地镜像。

589_在spacemacs中使用elpa mirror插件_emacs_02

         可以根据提示,输入一个自己的镜像存储目录。

589_在spacemacs中使用elpa mirror插件_重启_03

         minibuffer中有相应的进度提示,创建的速度非常快。

589_在spacemacs中使用elpa mirror插件_重启_04

         这样,在我的磁盘相应的位置就生成了一个镜像库。接下来,我尝试删除我个人本地已经安装的插件后,利用这个镜像来恢复。

589_在spacemacs中使用elpa mirror插件_emacs_05

         在init.el中增加如上配置,我也尝试在.spacemacs文件中添加过,没成功。但是,在这里添加是成功了的。而且,使用之前,我禁用了我自己配置的spacemacs网络源。之后测试,删除了elpa的目录之后,重启emacs。

589_在spacemacs中使用elpa mirror插件_emacs_06

         我记不清第一次尝试用这个插件是不是遇到的这个问题了,但是我大概想了一下,可能是因为之前联网下载的速度慢,也就给编译留出了足够的反应时间。现在从本地读取,速度太快,因此打开的文件数目过多了。好在,这个问题只要重启几次emacs,把剩下的插件安装完即可。我测试了一下,在Widnows上,配置越好的电脑这种现象越明显。

         当然,有一个可能需要注意的点是测试的时候尽量删除的时候别把elpa-mirror删除掉。

589_在spacemacs中使用elpa mirror插件_linux_07

         在WSL上做一个测试。

589_在spacemacs中使用elpa mirror插件_emacs_05

         elpa中的插件除了elpa-mirror之外全都清除掉。之后,使用从windows host中备份的镜像。

589_在spacemacs中使用elpa mirror插件_重启_09

         在这个过程中,遇到了联网查找插件的过程。我查了一下我备份的插件镜像,的确是没有这个插件。看起来,linux下的spacemacs和windows下的spacemacs在插件使用上或许还是有一些不同点的。而这个插件,正好也是elpa中没有的?

         上面的疑问,进一步排查发现似乎是文件夹名称问题。看起来得去给大佬提bug了。

589_在spacemacs中使用elpa mirror插件_linux_10

         上面截图中,中间带了pre的是无法生成的。而后者可以,看起来可能是一个匹配问题。在linux上做测试的时候,的确是没有遇到pipe以及打开文件太多的问题。看起来,这很可能是一个操作系统的问题。不过,总体看来,这个已经有很大的可用性了。