从系统中隔离芹菜、RabbitMQ和Erlang

从系统中隔离芹菜、RabbitMQ和Erlang,erlang,dependencies,rabbitmq,dependency-management,software-distribution,Erlang,Dependencies,Rabbitmq,Dependency Management,Software Distribution,我正在开发一种使用芹菜的产品。由于该产品依赖于RabbitMQ,而RabbitMQ依赖于Erlang。有没有一种方法可以隔离RabbitMQ和Erlang,使它们仅由我的应用程序安装和使用? 我不想受系统本身的影响,要求已经安装了Erlang/RabbitMQ。我想控制我的依赖关系。 我已经知道如何使用py2exe隔离Python解释器和依赖项,我想知道py2exe是否也可以用于捆绑RabbitMQ和Erlang。Erlang没有py2exe(请阅读:) 如果我理解正确,并且您关心的是文件的隔离

我正在开发一种使用芹菜的产品。由于该产品依赖于RabbitMQ,而RabbitMQ依赖于Erlang。有没有一种方法可以隔离RabbitMQ和Erlang,使它们仅由我的应用程序安装和使用?
我不想受系统本身的影响,要求已经安装了Erlang/RabbitMQ。我想控制我的依赖关系。

我已经知道如何使用py2exe隔离Python解释器和依赖项,我想知道py2exe是否也可以用于捆绑RabbitMQ和Erlang。

Erlang没有py2exe(请阅读:)

如果我理解正确,并且您关心的是文件的隔离,那么您只需将包含Erlang和RabbitMQ的目录的读取权限授予启动芹菜的用户即可。(尽管以这种方式,您必须考虑脚本安装—例如,如果您想坚持使用Erlang,您可以使用escript—以避免用户管理目录)


希望这有帮助

创建了打包为Mac OSX应用程序的repo RabbitMQ。也许你会在那里找到一些灵感。例如,我正在考虑一个MSI安装程序。事实上,Windows是我最关心的问题,因为你知道这种方法是“一次安装,而且只能安装一次”。我能问你一个问题吗?您的问题是关于分发还是安全?我的意思是,如果您的问题只是分发,那么您确实可以使用MSI打包您需要的Erlang模块和Rabbit MQ将它们放在一个目录中,该目录将由您的程序访问(从这个角度来看,Tilman留给您的注释没有什么不同-Mac OSX app AFAIK与deb和rpm软件包类似:归档+元数据-)。如果您的问题是配置MSI安装程序来管理目录权限,我担心您没有进入正确的论坛,因为这不是编程问题;)我的问题不是安全,而是孤立。如果已经安装了Erlang,我不想污染环境。全局Erlang应该用于所有其他用途,但我的Erlang将仅由我的软件使用。就像乌龟处理python一样。它嵌入了自己的python 2.6 interpeter,并允许在不影响系统的情况下安装任何其他python版本。我认为您的污染源是配置,比如EPMD deamon端口。