首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以用户身份安装CEDET 1.0pre6,同时安装CEDET 1.0pre4 deb包

以用户身份安装CEDET 1.0pre6,同时安装CEDET 1.0pre4 deb包
EN

Stack Overflow用户
提问于 2009-08-27 16:55:56
回答 2查看 1.6K关注 0票数 1

我的工作计算机(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时,我得到错误:

代码语言:javascript
复制
 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加载。

后者听起来混乱、丑陋和不稳定。如果我知道怎么做,我更愿意做前者。或者也许有人对这个问题有更好的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2009-08-28 04:32:08

由于不知道Emacs是如何安装的,因此很难确定解决方案。我要做的第一件事是禁用site file的加载

代码语言:javascript
复制
emacs --no-site-file

看看是否从那里加载的。它也可能被加载到库default中,但由于它是在.emacs之前加载的,而default是在之后加载的,所以这可能不是罪魁祸首。

如果你的管理员已经加载了CEDET的dumped Emacs,你就不走运了,你肯定得自己滚了。

也就是说,下载、构建和安装Emacs和其他任何软件一样简单。如果我没记错的话,这些步骤是:gtar xfz emacs-23.1.tar.gz; cd emacs-23.1; ./configure; gmake; gmake install

作为对评论的回应(您仍然希望加载site-start的其余部分),我尝试执行以下操作:

与管理您的系统的人进行对话,让他们修复-

  1. (库名存储在变量site-run-file中),不加载那些东西,而是将这种东西放到default中(它是在用户的Emacs之后加载的,等待#1解析(如果有),调用Emacs,如下所示

emacs -q --no-site-file -l hack.el

其中hack.el包含如下内容

代码语言:javascript
复制
;;; 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和存储在site-run-file中的名称。

如果您的管理员是vi用户,并且对Emacs一无所知(就像我以前的工作一样),那么您可以教育他们并希望有最好的结果,或者使用平底船开始自己的Emacs。

票数 2
EN

Stack Overflow用户

发布于 2013-07-04 06:20:01

我知道这是一个相当老的问题,但是我最近在Ubuntu 13.10中遇到了这个问题,当我试图安装CEET1.1的时候。

我之前安装了ecb包,它随/etc/emacs/site-start.d/50ecb.el一起提供,并导致在处理我的.emacs文件之前加载与Emacs23一起提供的CEDET版本。

因此,我要做的就是将ecb包从我的系统中清除,如下所示:

代码语言:javascript
复制
sudo apt-get purge ecb

现在可以按照CEDET安装文件中的说明加载我的本地版本的CEDET了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1342361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档