我要在rails应用程序中使用git-submodules跟踪依赖项。到目前为止,我已经为“vendor / plugins”添加了haml,shoulda和authlogic之类的子模块。我已经看到了我应该使用'vendor / gems'的迹象。
问题:哪个目录是将依赖项作为子模块进行跟踪的适当位置?选择是否随意?
由于
答案 0 :(得分:2)
简而言之,除了我在下面提到的例外情况之外,我会使用config.gems。
这是我使用的工作流程:
所有我需要的版本都存在宝石的插件/库,我这样做
的environment.rb
config.gem "plugin_name", :version => ">=1.0.0"
然后:
rake gems:unpack:dependencies
我从源代码安装的所有其他插件(Github等)我运行:
script/plugin install github_url
并将插件放在供应商插件中。
就子模块而言,我只使用我正在积极开发的插件/宝石的子模块或我计划使用特定提交的子模块,而不是HEAD,如果我打算更改提交我经常使用。
答案 1 :(得分:1)
简短版本 - 如果它是一个插件将它放入供应商/插件中,如果它是宝石,它会转到供应商/宝石。但是,没有必要通过子模块跟踪gem依赖关系--Rails配置就足够了。因此,通常的模式是:使用config.gem进行gem依赖关系跟踪,使用git-submodules进行插件依赖 - 而插件总是转到vendor / plugins。