我的工作计算机(Ubuntu 8.10)安装了CEDET版本1.0pre4,我正在尝试在我的本地目录中安装最新版本的CEDET(1.0pre6)(最终目标,将ECB升级到最新版本)。
不幸的是,默认的debian / ubuntu安装在调用我的.emacs文件之前初始化CEDET和ECB的系统级软件包,然后1.0pre6文件尝试加载抛出错误,尝试使用1.0pre4中未定义的符号。 (有关报告同一问题的其他人,请参阅this mailing list thread。)
我首先尝试手动重新加载CEDET在我的.emacs中提供的软件包,但其中一个软件包无法重新加载两次。
我现在正在尝试unload-feature
命令。当我尝试卸载CEDET时,我收到错误:
Lisp error: (error "Loaded libraries (\"/etc/emacs/site-start.d/55ecb.el\") depend on /usr/share/emacs22/site-lisp/cedet-common/cedet.elc")
但是没有ecb
功能可以卸载。有ecb-autoloads
功能,似乎由/etc/emacs/site-start.d/55ecb.el提供,但该库似乎也依赖于它。
我想我可以以某种方式让Emacs卸载系统范围的ECB,或者我可以以某种方式将系统范围配置中的大部分内容添加到我的.emacs文件的顶部,放弃ECB和CEDET加载。
后者听起来凌乱,丑陋,不稳定。如果我知道如何,我宁愿做前者。或者有人可以更好地解决这个问题?
答案 0 :(得分:2)
不知道如何安装Emacs,很难确定解决方案。我要尝试的第一件事就是禁用加载site file
emacs --no-site-file
查看是否从那里加载。它也可能被加载到库 如果您的管理员dumped已经加载了CEDET的Emacs,那么您运气不好,肯定会自己动手。 话虽如此,下载,构建和安装Emacs与其他任何软件一样简单。如果我记得,这些步骤是: 在回复评论时(您仍希望加载剩余的 在等待#1解决时(如果有的话),调用Emacs就像这样 其中hack.el包含类似 要查找 如果您的管理员是vi用户,并且对Emacs一无所知(就像我以前的工作一样),您可以教育他们并希望获得最好的,或者开始自己动手。default
中,但由于它在之前加载你的.emacs,之后加载default
,这可能不是罪魁祸首。< / p>
gtar xfz emacs-23.1.tar.gz; cd emacs-23.1; ./configure; gmake; gmake install
。
site-start
),我会尝试以下操作:
用户的site-run-file
中),以便不加载这些内容,而是将这些内容放入{{1} (在default
后)加载
.emacs
emacs -q --no-site-file -l hack.el
;;; some changes to load-path to put your stuff in front of the load-path`
(if site-run-file
(load site-run-file t t))
;;; now load your .emacs
,请使用site-run-file
和M-x find-library
中存储的名称。
答案 1 :(得分:1)
我知道这是一个相当古老的问题,但我最近在尝试安装CEDET 1.1时遇到了Ubuntu 13.10这个问题。
我以前安装过ecet软件包,该软件包附带了/etc/emacs/site-start.d/50ecb.el,导致在处理我的.emacs文件之前加载了随Emacs23打包的CEDET版本。< / p>
所以,我必须做的就是从我的系统中清除ecb包,如下所示:
sudo apt-get purge ecb
现在可以按照CEDET的INSTALL文件中的说明加载我的本地版CEDET。