Рубін Упакоўка Экасістэма Як Python Terminolgies

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

  • Я лічу, што ёсць інструмент эквівалентна virtualenv ў Ruby, але я не ведаю, што гэта тое, што да гэтага часу. Якія ролі РВМ і Bundler?
  • Калі я пішу пакет Python, я звычайна выкарыстоўваю setup.py распрацоўкі Каманда - гэта вырашае залежнасці, але не ўсталёўваецца сайт-пакетаў. Што такое эквівалент рэч у Ruby?
  • Што з'яўляецца пераважным спосабам, каб зрабіць структуру макета каталога пакетаў Ruby?
  • Gem пакет правілы наймення. Ці з'яўляецца імя Gem адчувальна да рэгістра? Ці павінен ён быць такім жа, як імя модуля Утрымліваецца ў Ruby?
  • Любыя іншыя пытанні, якія я прапусціў.
8

1 адказы

РВМ падобны virtualenv таксама афармлення замовы rbenv (магчыма, больш як virtualenv)

Bundler для ўпакоўкі залежнасцяў для распрацоўкі і разгортвання, яна працуе як setup.py і Піп (я не выкарыстаў пипс, гэта, здаецца, ёсць некаторыя асаблівасці RubyGems і Bundler)

Bundler ў Gemfile падобны, каб Піп файл патрабаванне

Bundler будзе ўсталёўваць залежнасці ў каталогу распрацоўкі і спакаваць іх для разгортвання.

макеты каталогаў, як правіла, выглядае наступным чынам:

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

Jeweler is a good tool for setting up, maintaining and releasing gems.

EDIT:

Вось некаторыя іншыя рэсурсы:

Некаторыя спасылкі на макеце Ruby:

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

Вось адзін робіць параўнанне інструментаў:

10
дададзена
Дык дзе ж RubyGems ўступаюць у гульню? спампаваць Ці код з рэпазітара пакетаў і распакаваць яго гэтак жа, як і Піп easy_install выкарыстоўваюцца?
дададзена аўтар Dan, крыніца
ды, RubyGems прадастаўляе гем каманды для ўстаноўкі і кіравання лал «каштоўныя камяні» або пакеты.
дададзена аўтар drnewman, крыніца