2015-05-07 2 views
3

Я не знаю, как это получилось. Я веб-разработчик, и я использую Ubuntu, и вот только некоторые из менеджеров пакетов, которые я использую.Как я могу упростить свой пакет менеджеров пакетов?

  • APT-получить для общесистемных пакетов
  • НПМ для узла пакетов
  • пип для питона пакетов
  • PIP3 для питона 3 пакета
  • междусобойчик для Haskell пакетов
  • композитор для PHP пакетов
  • беседка для лицевых пакетов
  • драгоценный камень для рубиновых пакетов
  • мерзавец для других вещей

Когда я начинаю новый проект на новой виртуальной машине, я должен установить казалось бы, менеджер десятков пакетов из дюжины различных мест, и используйте их все, чтобы создать среду разработки. Это просто выходит из-под контроля.

Я обнаружил, что в принципе я могу избежать установки и использования pip/pip3, просто установив пакеты python из apt, например sudo apt-get install python3-some-library. Это избавляет от необходимости использовать один менеджер пакетов. Это потрясающе. Но тогда я застрял с версиями Ubuntu этих пакетов, которые часто очень старые.

Что мне интересно, есть ли менеджер метапакетов, который может помочь мне заменить некоторые из этих частей, поэтому моя среда для разработчиков не так сложна для репликации?

+0

Извините, я не могу добавить ничего полезного в это, но: Я чувствую вас, брат. –

ответ

1

У меня возникла мысль создать менеджер пакетов, чтобы управлять ими всеми по этой причине. Никогда не закончил, хотя слишком много усилий, чтобы оставаться совместимым. Для каждого менеджера пакетов у вас есть огромное сообщество, поддерживающее его содержание.

Лучший совет, который я имею, заключается в том, чтобы попытаться уменьшить вашу инструментальную цепочку для каждого типа проекта. В идеале вам не нужно работать на каждом языке, который вы знаете для каждого проекта, над которым вы работаете. Сколько проектов вы используете, используя одновременно оба python 2 и python 3?

Сохраните с помощью apt ваши системные пакеты и установите с ним git. Оттуда старайтесь придерживаться одного языка для каждого проекта. AFAIK все перечисленные вами менеджеры пакетов поддерживают установку пакетов с git. Все упомянутые вами языки имеют сопоставимые наборы инструментов, поэтому используйте целевую языку, доступную для целевого языка.

Я работал с командой, которая была использование composer, npm, bower, bundler, maven, и tar.gz файла для внешнего интерфейса ООТА, потому что это те инструменты, которые они знали. Кроме того, они использовали vagrant просто как развертыватель. Мы рассмотрели нашу инструментальную цепочку и рассказали о нашей потребности и поняли, что она может быть выражена на одном языке, как только мы примем соответствующие инструменты для этой задачи.

Смежные вопросы