Ruby Packaging Ecosystem As Python Terminolgies

I have some experience with Ruby, but this is less than my Python experience. I have packaged and published several Python packages, but only one Ruby package that I published. I want to quickly learn about the Ruby packaging ecosystem by comparing it with Python.

  • I believe that theres a tool equivalent to virtualenv in Ruby, but I don't know what it is. What are the roles of RVM and Bundler?
  • When I write a Python package, I usually use the setup.py develop command - it resolves dependencies, but does not install on site packages. What is equivalent in Ruby?
  • What is the preferred way to create a Ruby package directory layout layout?
  • Gem package naming rule. Is the Gem case case sensitive? Should it match the name of the Ruby module?
  • Any other points that I missed.
+8
python comparison ruby packaging rubygems
source share
1 answer

RVM is similar to virtualenv also checkout rbenv (maybe more like virtualenv)

Bundler for packaging dependencies for development and deployment, works like setup.py and pip (I did not use pip, it seems to have some rubygems and Bundler functions)

Bundler Gemfile is similar to protocol requirements file

Bundler will install the dependencies in your development directory and pack them for deployment.

Directory layouts look like this:

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

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

EDIT:

Here are some other resources:

Some links to the Ruby layout:

Some for Python:

  • What is the best project structure for a Python application?
  • Initialize project layout in python?

Here you do a tool comparison:

+10
source share

All Articles