我有一个依赖许多第三方宝石的Rails项目。其中一个宝石是由我开发的宝石,在Github上托管。修改依赖关系宝石
现在,如果我克隆大型Rails项目,并且需要修改我的“自制”宝石中的某些内容,我应该怎么做?如果有帮助,我使用RVM。
对于Pythonists,我需要的是类似pip
中的-e
标志,您可以在其中安装依赖项作为可编辑的,以便您可以修改它们并查看需要它们的包中的实际更改。
我有一个依赖许多第三方宝石的Rails项目。其中一个宝石是由我开发的宝石,在Github上托管。修改依赖关系宝石
现在,如果我克隆大型Rails项目,并且需要修改我的“自制”宝石中的某些内容,我应该怎么做?如果有帮助,我使用RVM。
对于Pythonists,我需要的是类似pip
中的-e
标志,您可以在其中安装依赖项作为可编辑的,以便您可以修改它们并查看需要它们的包中的实际更改。
要在你刚才创建的宝石早午餐宝石一些变化,再点Rails项目创业板分支的的Gemfile里面的分支,例如:
gem 'your-gem', :git => 'https://github.com/you/your-gem.git', :branch => 'new-project-branch'
关于定义的更多文档,您可以在bundler doc page找到。
注:当然你也可以使用:path
键代替git
或github
键的情况下,你必须simultaneoues发展阶段在两个你的宝石,和Rails项目,但这一招是无效的Rails项目发布到网上(如heroku等)。
你可以在本地签出你的宝石并按你的意愿进行编辑。
在你的Rails项目Gemfile
点到宝石的地方结帐:
gem 'your_gem_name', path: '../your_gem_name'
Bundler 1.1 or above接受:github
作为选项。所以,你可以说:
gem 'gem_name', :github => 'github_username/gem_name'
,甚至更好的时候可以提到查找代码存储库中的哪个裁判,分公司,或标签:现在
gem 'gem_name', :github => 'github_username/gem_name', :branch => "stable-branch"
,可以独立于你的工作github存储库,并将代码推送到您项目的Gemfile中提到的指定分支。
但是,你可能想工作,并在本地测试,所以你可以做这样的事情:
if ENV['RAILS_ENV'] == 'production'
gem 'gem_name', :github => 'github_username/gem_name', :branch => "stable"
else
gem 'gem_name', :path => "/path/to/gem_name", :branch => 'test'
end
所以基本上我需要修改我的项目的Gemfile中。我想有一种方法可以告诉Bundler在可编辑模式下安装gem,就像你告诉pip这样做。 – linkyndy 2014-11-21 13:47:36