我对
Ruby有一些经验,但它不如我的
Python经验.我打包并发布了几个Python包,但是我发布的只有一个Ruby包.我想通过与Python比较来快速了解Ruby包装生态系统.
>我相信在Ruby中有相当于virtualenv的工具,但我不知道那是什么. RVM和Bundler有什么作用?
>当我编写Python包时,我通常使用setup.py develop命令 – 它解析了依赖项,但未安装到site-packages. Ruby中的等价物是什么?
>制作Ruby包的目录布局结构的首选方法是什么?
> Gem包命名规则. Gem名称是否区分大小写?它应该与包含的Ruby模块的名称相同吗?
>我错过了任何其他观点.
解决方法
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布局上的一些链接:
> Directory layout for pure Ruby project
> Ideal ruby project structure
> http://www.ruby-forum.com/topic/213637
一些用于Python:
> What is the best project structure for a Python application?
> Initialize project layout in python?
这是一个比较工具: