【问题标题】:packages dependence between el-get and elpael-get 和 elpa 之间的包依赖关系
【发布时间】:2014-05-14 01:16:32
【问题描述】:

我尝试使用 el-get 来管理我的包,因为从 github 更新最新版本是件好事。但有时我想要的包只在 ELPA 中可用。所以我用

(:name <package_name> :type elpa)

安装它们。

现在我的问题是: 我用 el-get 安装了 org-mode 并尝试通过

安装 org-gcal
(:name org-gcal :type elpa)

“org-gcal”依赖于我已经在 el-get 目录下的 org-mode 8.2.4,但它仍然说找不到它,将再次从 elpa 安装 org。

如何解决 elpa 和 el-get 之间的这种依赖问题?

【问题讨论】:

  • 所以为了绝对清楚,当您说“并尝试使用 ELPA 安装 org-gcal”时,您仍然指的是 el-get 和 :type elpa,而不是 M-x package-install,是吗?
  • @phils。你说的对。这就是我的意思。
  • 我能想到的唯一方法——而且我认为你不想这样做——是修改包归档结构以删除依赖关系,这样包库就不会投诉。如果该验证没有服务器端元素,这应该可以工作(但同样,我非常讨厌实际这样做)。
  • 但如果你想尝试一下,你可以试试(assq-delete-all 'org (aref (cdr (assq 'org-gcal package-archive-contents)) 1))
  • @phils 感谢您的帮助。但是 org-gcal 只是一个例子。我可能需要从 ELPA 安装太多软件包,我认为手动配置每个软件包并不是我想要的。

标签: emacs elpa el-get


【解决方案1】:

你不能“解决”这个依赖问题,因为你可以教 ELPA 关于 el-get 包。这(很容易)不可能。

el-get 理解 ELPA 包,但 反之亦然。 ELPA 确实看到 el-get 包,因此不能使用它们来解决包依赖关系。

唯一合理的方法是使用 ELPA 来安装 Org 和其他软件包。最新的 Org 版本可从默认的 GNU ELPA 存档或 Org Mode's package archive 获得。流行的 MELPA 存档为 1000 多个其他软件包提供 VCS 快照。

【讨论】:

  • ELPA 安装前是否先检查本地包?有没有办法让 ELPA 知道这个包已经存在?
  • @enchanter ELPA 显然会检查是否安装了依赖项,但它只查看通过 ELPA 安装的依赖项。没有办法告诉 ELPA 以任何其他方式安装的依赖项,除了搞乱package-alist,我强烈建议不要这样做。
猜你喜欢
  • 2013-09-18
  • 2010-09-14
  • 2016-08-20
  • 1970-01-01
  • 2010-10-21
  • 1970-01-01
  • 2016-09-10
  • 2010-11-18
  • 1970-01-01
相关资源
最近更新 更多