Ruby Упаковочная экосистема как терминатор Python - PullRequest
8 голосов
/ 28 октября 2011

У меня есть некоторый опыт работы с Ruby, но он меньше моего опыта с Python.Я упаковал и опубликовал несколько пакетов Python, но опубликовал только один пакет Ruby.Я хочу быстро узнать об экосистеме упаковки Ruby, сравнивая ее с Python.

  • Я считаю, что в Ruby есть инструмент, эквивалентный virtualenv, но я пока не знаю, что это такое.Каковы роли RVM и Bundler?
  • Когда я пишу пакет Python, я обычно использую команду setup.py develop - она ​​разрешает зависимости, но не устанавливается на пакеты сайтов.Что эквивалентно в Ruby?
  • Каков предпочтительный способ создания структуры макета каталога пакетов Ruby?
  • Правило именования пакетов Gem.Имя Gem чувствительно к регистру?Должно ли оно совпадать с именем модуля Ruby?
  • Любые другие моменты, которые я пропустил.

1 Ответ

10 голосов
/ 28 октября 2011

RVM похож на virtualenv и извлекает rbenv (возможно, больше похож на virtualenv)

Bundler предназначен для упаковки зависимостей для разработки и развертывания, он работает как setup.py и pip (я не использовал pip, онпохоже, что он обладает некоторыми функциями rubygems и Bundler)

Bundler Gemfile похож на файл требований pip

Bundler установит зависимости в ваш каталог разработки и упакует их для развертывания.

Макеты каталогов имеют тенденцию выглядеть следующим образом:

/ -
  lib - classes / modules etc.
  bin - executables things you want on $PATH
  test - unit tests

Ювелир - хороший инструмент для настройки, обслуживания и выпуска драгоценных камней.

РЕДАКТИРОВАТЬ:

Вот некоторые другие ресурсы:

Некоторые ссылки на макет Ruby:

Некоторые для Python:

Вот один из примеров сравнения инструментов:

...