怎样给一台不能联网的电脑安装(含配置)Emacs/Spacemacs?

已有条件:一台不能联网的电脑(电脑A), 一台能联网的电脑(电脑B)

经测试,如果两个电脑的Emacs版本一致,下面的方案是可行的:

方案一: 1). 下载Emacs的安装包,拷贝到电脑A,完成基本的安装; 2). 在电脑B中完成Emacs/Spacemacs的安装和配置; 3). 将电脑B中的.emacs.d, .spacemacs.d等文件夹拷贝到电脑A中恰当的路径下。

但是如果两个电脑的Emacs版本不一致,上面的方案就行不通了,比如我有一台不能联网的电脑,XP 32位系统(这种电脑一般比较落伍),它所能安装的Emacs最新版本是24.5,似乎后续的windows也不在提供32bit的安装了: ftp://alpha.gnu.org/gnu/emacs/pretest/windows/ 。我联网用的电脑一般是win7 64bit 或 linux 64bit, 这种情况下给不联网的XP安装和配置Emacs的最方便的方法是什么呢?

PS: 我原想偷个懒,直接移用方案一的策略,就是在联网电脑里装了XP虚拟机,在虚拟机下完成Emacs 24.5的安装配置,然后再拷贝文件,但是在虚拟机却没能安装成功Emacs。

本来想说安装包加配置包就可以了 然而看见xp的我 选择继续潜水……

XP太out了。但有些封闭的地方还在用。还不联网,想测试都麻烦。

我不想太折腾,就使用了Spacemacs, 联网的虚拟机里可以通过安装文件安装好原生的Emacs,然后将spacemacs-master.zip解压到.emacs.d目录。 正常情况下可以直接运行emacs,进而完成基本的spacemacs配置了。 配置完成后参考方案一的第三步实现不联网电脑的Emacs安装和配置。

PS: 在虚拟机中可能会遇到如下错误:Opening TLS connection to 'melpa.og'....failed.https://github.com/melpa/melpa/issues/3833 发现解决方法:

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
;;(package-initialize)

将上述代码放到.emacs.d/init.el中,(package-initialize)对Spacemacs而言是多余的, 需注释掉。

1 个赞

我一般都是在联网的电脑上先配置好,再把emacs全部压缩,copy到不联网的电脑上就能用。

不联网如何使用在线melpa…… https连不上http应该也连不上吧?

这样确实就可以了。 不过我还要解决Emacs版本不同、操作系统不同的问题。所以就在虚拟机里弄了,也许能用cask在联网电脑上装多个不同版本的Emacs,但不知道操作系统不同(比如32bit和64bit)会不会有影响?

如果包都装好了,就不需要使用在线melpa了; 好像是windows系统有https连不上的问题。

我现在就在用两台电脑,一台win7 64bit,一台xp 32bit(无法联网),都是直接下载的Emacs25,把配置copy一下就可以直接用了,没有任何问题啊。

估计 redguardtoo/elpa-mirror 符合你的要求

可以用这个package给电脑B的插件打个包,在电脑A上把 package-archives 设置成打包得到的文件就好了

2 个赞

elpa-mirror是我配置的核心工具。。。 chengbin太赞了