无法安装Emacs El-Get包,Emacs无法连接到互联网。

8
我已将以下内容复制到我的init.el文件中:
(add-to-list 'load-path ".emacs.d/el-get/el-get")
(unless (require 'el-get nil t)
  (url-retrieve
   "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
   (lambda (s)
     (end-of-buffer)
     (eval-print-last-sexp))))

我使用以下代码从d:.emacs.d目录启动emacs,该目录不在默认位置

set HOME=%~dp0\..
cd ..
D:\emacs-24.3\bin\runemacs.exe --debug-init --xrm "emacs.Background: light green"

这应该从Github下载包,但实际上我得到了这个:
Debugger entered--Lisp error: (error "Could not create connection to raw.github.com:443")
signal(error ("Could not create connection to raw.github.com:443"))
error("Could not create connection to %s:%d" "raw.github.com" 443)
url-http([cl-struct-url "https" nil nil "raw.github.com" nil "/dimitri/el-get/master/el-get-install.el" nil nil t nil t] (lambda (s) (end-of-buffer) (eval-print-last-sexp)) (nil))
url-https([cl-struct-url "https" nil nil "raw.github.com" nil "/dimitri/el-get/master/el-get-install.el" nil nil t nil t] (lambda (s) (end-of-buffer) (eval-print-last-sexp)) (nil))
url-retrieve-internal("https://raw.github.com/dimitri/el-get/master/el-get-install.el" (lambda (s) (end-of-buffer) (eval-print-last-sexp)) (nil) nil nil)
url-retrieve("https://raw.github.com/dimitri/el-get/master/el-get-install.el" (lambda (s) (end-of-buffer) (eval-print-last-sexp)))
(if (require (quote el-get) nil t) nil (url-retrieve "https://raw.github.com/dimitri/el-get/master/el-get-install.el" (function (lambda (s) (end-of-buffer) (eval-print-last-sexp)))))
eval-buffer(#<buffer  *load*> nil "d:/.emacs.d/init.el" nil t)  ; Reading at buffer position 1831
load-with-code-conversion("d:/.emacs.d/init.el" "d:/.emacs.d/init.el" t t)
load("d:/.emacs.d/init" t t)
#[0 "\205\262

如果emacs正在尝试连接,防火墙没有任何通知。


你使用代理吗?在Windows系统上,Emacs可能不知道如何读取系统代理配置。在运行Emacs之前,请尝试使用“set https_proxy=PROXY_URL_HERE”设置https_proxy环境变量。 - user4815162342
不,我不使用代理。并且发现使用默认的包管理器很成功,可以无问题地下载定义。 - rsk82
2个回答

5

我最近写的在Windows上安装页面似乎是这个问题的答案:

Emacs在Windows上默认不支持https。如此处所述,可以从http://sourceforge.net/projects/ezwinports/files/获取所需的dll文件。

  • gnutls-3.0.9-w32-bin.zipbin文件夹下的dll文件提取到Emacs的bin/文件夹中。
  • 您需要重新启动Emacs以便它能注意到新的dll文件。

1
我知道这个帖子已经一年多了,但它对于新的el-get用户仍然非常相关...
我也没有在从那个代码下载el-get方面取得很大的成功(就像网站上说的那样),但我使用了https://github.com/dimitri/el-get中的代码,并通过git clone进行了安装,一旦我这样做了,我的~/.emacs.d/init.el中的代码(类似于你上面的代码)就可以保持el-get同步。
如果您有兴趣,我建议您调查一下 - 我发现el-get比本地Package.el好得多,主要是因为它支持直接安装git repos,而不必先克隆它们。(而且一旦通过企业代理工作,它就变得更加有价值!)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接