如何设置私有软件包存储库?


11

我已经为GNU Emacs编写了多个软件包,但是在我公司的环境之外,它们是无用的。我希望能够与我公司的其他开发人员共享软件包。我还希望这些软件包可以通过轻松发现package-list-packages

我认为私有存储库可以解决我的问题,但是我找不到有关个人档案设置的任何手册。据我了解,Elisp信息手册建议使用纯目录和package-upload-file,但我认为它与并发软件包更新不能很好地配合。还有其他相对容易设置的选项吗?


1
一种简单的方法是为所有库创建私有git repos,并指示其他人使用quelpa进行安装。周围不会有一个不错的菜单,但是可发现性就像浏览git主机上的配置文件或组织页面一样容易。
Jordon Biondo

1
github.com/redguardtoo/elpa-mirror也许可以帮上忙吗?我没看里面
wvxvw

这真的是一个Emacs问题吗?
德鲁

Answers:


7

Melpa的源可用,因此您只需在配置为只能从办公室内部(而不是整个Internet)访问的服务器上克隆并运行它即可。您的开发人员必须能够访问服务器,并且必须以package-archives与执行Melpa,Marmalade或其他方法相同的方式添加存档。这些软件包将显示在中package-list-packages,并且可以像其他任何软件包一样进行安装和更新。


那如何构成一个私有存储库?似乎没有回答问题。
提请

3
@Drew我以为roman-kashitsyn将使用的服务器将位于公司的防火墙内部,无法从更广泛的Internet访问。我已经更新了我的答案,以使其更清楚。
zck

1
我不喜欢Melpa的一件事是,melpa-the-recipes与melpa-the-application在同一个存储库中纠结在一起。因此,将错误修正和新功能合并到我的私有fork中可能会很痛苦。但梅尔帕可能是尝试的最佳选择。
roman-kashitsyn 2015年

5

很抱歉迟到。直到现在我都没有看到它,但是我回答了类似的问题如何设置Elpa服务器?昨天。首先去那里看看。

简而言之,使用Emacs的package-x功能来设置自己的本地软件包归档非常容易。我上面的解决方案是十行lisp代码。相比较而言,建立您自己的MELPA网站是一项繁重的工作。要求用户设置和使用Quelpa的问题很多。这样,他们只使用标准的Emacs方式...只要您完成设置Web服务器的工作即可向他们公开软件包存档。


0

https://github.com/redguardtoo/elpa-mirror

创建本地Emacs软件包存储库。仅已安装的软件包将包含在资源库中。

因此,不需要任何网络,您的存储库大小将小得多(压缩约160个程序包后为2M字节)。

此外,由于您仅打包本地软件包,因此您可以100%确保这些软件包在新计算机上稳定,因为您在不同计算机上使用的是完全相同版本的软件包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.