我已经在emacs24上安装了cedet。但是,每当我启动emacs时,我都会收到一条错误,即el-get正在安装cedet失败。这需要相当长的时间,并在制作中的某个地方失败。
为什么el-get下载已经默认出现的cedet,为什么会抛出错误,如何禁用它?
启动时:
el-get waiting for "*bzr branch cedet" to complete
el-get is waiting for "make" to complete
error: el-get: make el-get could not build cedet [make EMACS=/usr/bin/emacs24]
答案 0 :(得分:1)
每当你el-get-install
时,el-get首先尝试安装依赖项
包裹声明。在安装包之前,el-get会添加包
到状态文件(默认情况下它在~/.emacs.d/el-get/.status.el
)并标记
它作为一个必需的包,一旦安装包,状态就会改变
到installed
。在emacs启动时,它会检查此文件以获取列表包
它必须安装,如果任何包的状态为“required”,则安装它
第一
在您的特定情况下,包ecb
的配方将cedet
声明为a
依赖。因此el-get
首先尝试安装cedet
并失败,因为。{
cedet
附带的el-get
食谱会尝试安装cedet
资源。此步骤失败,因为您没有安装texinfo
需要制作cedet
。结果el-get
标记为
所需的软件包以及每次启动它都试图安装它(并且失败)。
你可以做到
M-X el-get-remove
RET name-of-offending-package
RET ,
所以el-get停止尝试安装该软件包。找出具体的原因
软件包安装失败,您可以随时检查构建过程的输出
通过切换到缓冲区el-get: build
打包(我不记得名字了
正确,但它是类似的东西)。
对于您的特定情况,您可以完全避免安装cedet
使用以下内容指示el-get
从melpa安装ecb
食谱。做 C-h v el-get-sources RET 来阅读
食谱语法
(:name ecb
:description "Emacs Code Browser"
:type elpa
:repo ("melpa" . "http://melpa.milkbox.net/packages/"))
将上面的食谱添加到个人食谱中名为ecb.rcp
的文件中
目录。我将它们存储在~/.emacs.d/recipes
中,位置无关紧要
但是,只需确保它位于列表el-get-recipe-path
中的第一位,以便这样做
你的食谱优先于内置的食谱。像
(add-to-list 'el-get-recipe-path "/path/to/personal/recipes")
应足以确保el-get
首选您的个人食谱。