3

我不知道它是怎么变得这么糟糕的。我是一名网络开发人员,我使用 Ubuntu,这里只是我正在使用的一些包管理器。

  • apt-get 用于系统范围的软件包
  • 用于节点包的 npm
  • python包的pip
  • 用于 python 3 包的 pip3
  • 用于 haskell 包的 cabal
  • php包的作曲家
  • 前端包的凉亭
  • ruby 包的 gem
  • git 做其他事情

当我在一个新的虚拟机上开始一个新项目时,我必须从十几个不同的地方安装看似十几个包管理器,并使用它们来创建一个开发环境。这简直是​​失控了。

我发现我基本上可以通过从 apt 安装 python 包来避免安装和使用 pip/pip3,比如sudo apt-get install python3-some-library. 这样就不必使用一个包管理器了。棒极了。但是后来我被这些软件包的 Ubuntu 版本所困扰,这些软件包通常很旧。

我想知道的是,是否有一个元包管理器可以帮助我替换其中的一些部分,所以我的开发环境不是那么难以复制?

4

1 回答 1

1

出于这个原因,我有一个想法让一个包管理器来管理它们。虽然从未完成,但要保持兼容需要付出太多努力。对于每个包管理器,您都有一个庞大的社区来支持它的维护。

我的最佳建议是尝试减少每种类型项目的工具链。理想情况下,您不需要为您从事的每个项目使用您所知道的每种语言。您正在使用多少个同时使用 python 2 和 python 3 的项目?

继续使用apt你的系统包并安装git它。从那里尝试每个项目坚持一种语言。AFAIK 您列出的所有包管理器都支持从git. 您提到的语言都有类似的工具集,因此请使用可用于目标语言的工具链。

我与一个使用composer, npm, bower, bundler,maventar.gz前端 SPA 文件的团队一起工作,因为这些是他们所知道的工具。最重要的是,他们vagrant只是用作部署者。我们考虑了我们的工具链并描述了我们的需求,并意识到一旦我们为手头的任务采用了适当的工具,它就可以用一种语言来表达。

于 2017-06-09T22:38:01.553 回答