Emacs的包管理器期望什么? [英] What do you expect from a package manager for Emacs?

查看:141
本文介绍了Emacs的包管理器期望什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尽管存在数千个Emacs Lisp库,但GNU Emacs直到版本24.1没有(内部)程序包管理器。



我想大多数用户会同意目前来看,安装并且特别保持最新的Emacs Lisp库是不方便的。



使生活更轻松的页面



对于超过24.1的Emacs版本:




  • Emacs Lisp列表 - 问题:我看到死人(链接)。 / li>
  • Emacswiki - 问题:可能含有坚果痕迹(恶意代码)。

  • Emacsmirror - 我正在处理的软件包存储库。问题:没有包管理器本来支持它。



某些包管理器



这不是没有人尝试过。 (当这个问题被提出时,其中一些不存在。)








UPDATE - package.el包含在GNU Emacs中,从版本24.1开始








包已经包含在Emacs中继线中。 epkg还没有准备好,目前还不可用。至少install-elisp,plugin和use-package似乎没有被主动维护。



我已经创建了一个git repository 将所有这些包管理器作为子模块。



可能有用的实用程序



程序包管理器可以使用这些实用程序和/或可以使用它们来维护程序包的镜像。





有关该主题的讨论





问题(最终)



所以 - 我想知道你在Emacs的包裹经理中认为重要/不重要/补充等。



一些想法


  1. 许多包( Emacsmirror 提供了最大可用的包集合,但是在任何包管理器中还没有明确的支持)。

  2. 只有经过测试的软件包。

  3. 支持多个包存档(所以人们可以在许多/测试包之间进行选择)。

  4. 仅根据所需功能计算的依赖关系。

  5. 依赖关系考虑特定版本。

  6. 仅使用已上传的版本

  7. 使用版本控制系统的版本(如果可用)

  8. 包已分类。

  9. 卸载和更新不仅安装。

  10. 支持创建上游版本软件包的分支。

  11. 支持发布这些分叉。
  12. $ b $



  13. 生成自动加载文件

  14. <里>与Emacswiki集成(请参阅wikirel.el)
  15. 用户可以标记,评论等包并共享该信息。

  16. 只有FSF分配/ GPL / FOSS软件或不关心许可证。

  17. 软件包管理器应与Emacs集成。

  18. 支持轻松联系作者

  19. 许多元数据。

  20. 在安装特定包之前提出替代方案。

我希望这些答案




  • 指向更多的实现,讨论等。

  • 构成您理想的软件包管理器的一组功能的冗长描述。

  • 描述一个特别期望/不期望的特征。

  • 惊喜我。


解决方案

从版本控制自动发布



我希望看到一个标准,中央和 Emacs软件包管理器。现在,我把钱放在 ELPA 上,但还有很长的路要走。 p>

有助于Emacs软件包管理器的最大的事情是使其发布软件包非常简单。在我看来,我想看到这种情况与中央托管平台上的版本控制系统(如git )相结合,如 GitHub - 这将使作者轻松发布其软件包,并使其他人能够轻松地做出贡献。



类似于GitHub(用于)如何轻松发布RubyGems,我想在Emacs包管理器中看到类似的东西。例如,使用vX.YZ标记您的存储库,并且可以自动为所有人使用您的精灵。



使用像GitHub这样的流行后端的附加优点是, 'd立即得到很多曝光,这应该有助于推动其成功。


Although several thousand Emacs Lisp libraries exist, GNU Emacs, until version 24.1 did not have an (internal) package manager.

I guess that most users would agree that it is currently rather inconvenient to find, install and especially keep up-to-date Emacs Lisp libraries.

Pages that make life a bit easier

For versions of Emacs older than 24.1:

  • Emacs Lisp List - Problem: I see dead people (links).
  • Emacswiki - Problem: May contain traces of nuts (malicious code).
  • Emacsmirror - The package repository I am working on. Problem: No package manager supports it natively yet.

Some package managers

It's not that nobody has tried yet. (Some of these did not exist when this question was asked.)


UPDATE -- package.el is included in GNU Emacs, starting with version 24.1


package has been included in the Emacs trunk. epkg is not ready yet and also currently not available. At least install-elisp, plugin and use-package do not seem to be actively maintained anymore.

I have created a git repository containing all these package managers as submodules.

Some utilities that might be useful

Package managers could use these utilities and/or they could be used to maintain a mirror of packages.

Discussions about the subject at hand

The question (finally)

So - I would like to know from you what you consider important/unimportant/supplementary etc. in a package manager for Emacs.

Some ideas

  1. Many packages (the Emacsmirror provides that largest available collection of packages, but there is no explicit support in any package manager yet).
  2. Only packages that have been tested.
  3. Support for more than one package archive (so people can choose between many/tested packages).
  4. Dependency calculated based on required features only.
  5. Dependencies take particular versions into account.
  6. Only use versions that have been released upstream.
  7. Use versions from version control systems if available.
  8. Packages are categorized.
  9. Packages can be uninstalled and updated not only installed.
  10. Support creating fork of upstream version of packages.
  11. Support publishing these forks.
  12. Support choosing a fork.
  13. After installation packages are activated.
  14. Generate autoload files.
  15. Integration with Emacswiki (see wikirel.el).
  16. Users can tag, comment etc. packages and share that information.
  17. Only FSF-assigned/GPL/FOSS software or don't care about license.
  18. Package manager should be integrated be distributed with Emacs.
  19. Support for easily contacting author.
  20. Lots of metadata.
  21. Suggest alternatives before installing a particular package.

I am hoping for these kinds of answers

  • Pointers to more implementations, discussions etc.
  • Lengthy descriptions of a set of features that make up your ideal package manager.
  • Descriptions of one particular desired/undesired feature. Feel free to elaborate on my ideas from above.
  • Surprise me.

解决方案

Automatic publishing from version control

I'd love to see a standard, central, and single Emacs package manager. Right now, I'd put my money on ELPA, but there is still a long way to go.

The biggest thing that would help an Emacs package manager would be to make it super trivial to publish packages. In my opinion, I'd like to see this happen in combination with a version control system like git on a central hosted platform like GitHub -- something that would make it easy for authors to publish their packages and would make it easy for others to contribute back.

Similar to how GitHub (used to) make it easy to publish RubyGems, I'd like to see something similar in an Emacs package manager. For example, tag your repository with "vX.Y.Z" and have your elisp goodness automatically available to all.

The added benefit of using a popular backend like GitHub is that you'd immediately get a lot of exposure which should help drive its success.

这篇关于Emacs的包管理器期望什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆