我不知道它是怎么回事的。我是Web开发人员,我使用Ubuntu,这只是我正在使用的一些软件包经理。
- 适用于系统范围的软件包
- NPM节点软件包
- Pip for Python软件包
- pip3 for python 3包
- haskell套件的阴谋
- PHP软件包的作曲家
- 前端软件包的鲍尔
- 红宝石包装的宝石
- git for其他事物
当我在新的VM上启动一个新项目时,我必须从十几个不同的地方安装十几个软件包经理,并将其全部用于创建开发环境。这只是失去控制。
我发现,我基本上可以通过从APT(例如sudo apt-get install python3-some-library
)安装Python软件包来避免安装和使用PIP/PIP3。这可以节省不得不使用一个软件包管理器。棒极了。但是后来我遇到了这些包装的Ubuntu版本,这些版本通常很旧。
我想知道的是,是否有一个元包装经理可以帮助我替换其中的一些部分,因此我的开发环境并不那么棘手?
我有一个想法让一个软件包管理器以此为由统治它们。不过,从来没有完成过,要保持兼容的努力太多。对于每个软件包经理,您都有一个庞大的社区支持维护。
我拥有的最佳建议是尝试减少每种项目的工具链。理想情况下,您不需要使用所知道的每个项目的语言来工作。您正在同时使用Python 2和Python 3同时使用的几个项目?
继续将apt
用于系统软件包,然后将git
安装。从那里尝试坚持每个项目的一种语言。AFAIK您列出的所有软件包经理支持git
中安装软件包的支持。您提到的所有语言都具有可比的工具集,因此请使用可用于目标语言的工具链。
我与一个使用composer
,npm
,bower
,bundler
,maven
和tar.gz
文件的团队一起工作,因为这些是他们知道的工具。最重要的是,他们仅将vagrant
作为部署使用。我们考虑了我们的工具链,并描述了我们的需求,并意识到,一旦我们采用了适当的工具,就可以用单一语言表达它。