Ruby包装生态系统作为Python术语

时间:2011-10-28 04:03:53

标签: python ruby rubygems comparison packaging

我对Ruby有一些经验,但它不如我的Python经验。我打包并发布了几个Python包,但是我发布的只有一个Ruby包。我想通过与Python比较来快速了解Ruby包装生态系统。

  • 我相信在Ruby中有相当于virtualenv的工具,但我不知道那是什么。 RVM和Bundler有什么作用?
  • 当我编写Python包时,我通常使用setup.py develop命令 - 它解析了依赖关系但未安装到site-packages。 Ruby中的等价物是什么?
  • 制作Ruby包的目录布局结构的首选方法是什么?
  • Gem包命名规则。 Gem名称是否区分大小写?它应该与包含的Ruby模块的名称相同吗?
  • 我错过了任何其他观点。

1 个答案:

答案 0 :(得分:10)

RVM类似于virtualenv也是checkout 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

Jeweler是设置,维护和发布宝石的好工具。

编辑:

以下是其他一些资源:

Ruby布局上的一些链接:

Python的一些内容:

这是一个比较工具的人: