Orphan package 被自动删除的问题,关于solarzed皮肤

之前一直用spacemacs-theme,后来怀念起vim模式下用的solarzed皮肤,就用package-install装了一个在用。 因为我好几天没有关闭电脑和emacs,今天重启emacs的时候突然发现我的solared皮肤在启动的时候被删除了。

提示是:

Found 3 orphan package(s) to delete… → deleting color-theme… [3/3]

去google了一下,发现按照 syl20bnr的方法 没办法解决我的问题 “孤儿插件” 是因为我没有在配置里调用么? 我只是想把这个皮肤加到我的theme库里而已,并不想一启动就使用这个皮肤,而是想随时可以找到它使用,但现在我如果用其他theme启动emacs,solarzed-theme就会自动被删除,在 spc T h 里就木有了,郁闷,调了1个小时了,好心酸。

左侧是删除了我的orphan package界面, 右侧是我再次安装solarzed-theme的buffer。当然,我要是再次重启,solarzed还会被删除。

可以将你自己安装的 package 放到 dotspacemacs-additional-packages 中,比如

dotspacemacs-additional-packages '(color-theme xxx xxx)

1 个赞

配置还好说,我还想了解一下orphan package是什么原因产生的,wiki里面没有特定的描述。

就是你要写到配置文件里面去,不然人家会当作无用插件,帮你删掉.

1 个赞

@Rudddi 我理解的 spacemacs 中的 orphan package 指的就是没有被任何 layer 引用的 package。如果要加入新的package,一种方法就是写一个新的 layer 引用将要安装的 package;另一种方法就是将 package 加入到 dotspacemacs-additional-packages 变量中。

文档里有讲到的,ctrl+forphan就有了。spacemacs主题这里好像确实有点容易让人误解,theme里面看似列了一大堆,其实除了第一个之外,如果不在他那个默认的SPC T h的列表里的主题,会被当作orphan package。除了楼上两种方法之外,可以把dotspacemacs-delete-orphan-packages关掉,这样不用的包会占一点空间,但是根本占不了多少,并且配置改来改去可以减少一些下载次数。