2011-10-28 14 views
8

Tengo un poco de experiencia con Ruby, pero es menos que mi experiencia en Python. He empaquetado y publicado varios paquetes de Python, pero solo he publicado un paquete de Ruby. Quiero aprender rápidamente sobre el ecosistema de empaque Ruby comparándolo con Python.Ecosistema de Empaquetado de Ruby Como terminología de Python

  • Creo que existe la herramienta equivalente a virtualenv en Ruby, pero no sé qué es eso todavía. ¿Cuáles son los roles de RVM y Bundler?
  • Cuando escribo un paquete de Python, normalmente uso el comando setup.py develop - resuelve las dependencias pero no está instalado en los paquetes de sitio. ¿Qué es lo equivalente en Ruby?
  • ¿Cuál es la forma preferida de hacer una estructura de diseño de directorio de los paquetes de Ruby?
  • Regla de nomenclatura del paquete de gemas. Es el nombre de la gema sensible ¿Debería ser el mismo que el nombre del módulo de Ruby?
  • Cualquier otro punto que eché de menos.

Respuesta

10

RVM es similar a virtualenv también rbenv la caja (tal vez más como virtualenv)

Bündler es para las dependencias de embalaje para el desarrollo y despliegue, que funciona como setup.py y PIP (No he utilizado pip, parece tener algunas características de rubygems y Bündler)

de Bündler Gemfile es similar a la de pip archivo de requerimiento

Bündler instalará las dependencias en el directorio de desarrollo, y empaquetarlos para su despliegue.

diseños Directorio tienden a tener este aspecto:

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

Jeweler es una buena herramienta para establecer, mantener y liberar gemas.

EDIT:

Éstos son algunos otros recursos:

Algunos enlaces en el diseño de Ruby:

Algunos de Python:

aquí está uno haciendo una comparación de herramientas:

+0

Entonces, ¿dónde rubygems vienen i nto jugar?¿Descarga el código de un repositorio de paquetes y lo descomprime de forma muy similar a como se utilizan pip y easy_install? – user37078

+1

sí, rubygems proporciona el comando 'gem' para instalar y administrar ruby" gems "o paquetes. – drnewman

Cuestiones relacionadas