Rails 4 @ Ruby 2
所以我有两个无法上传到Rubgems的引擎(A,B)宝石,因为代码是私有的,所以即时通讯使用git。
A必须使用B,所以基本上我应该在A gemspec中添加B作为依赖。据我所知,gemspec不允许基于git的gems作为gemspec中的依赖。
我尝试使用A gemfile但没有运气。有出路吗?
答案 0 :(得分:3)
对于开发或测试,您可以在Gemfile中执行此操作。您甚至可以将其指向使用本地文件夹。
gem 'gem_b', path: "/path/to/the/folder"
或使用git参考
gem 'gem_b', git: "git@github.com:user/gem_b.git"
这将允许您进行开发和测试。
另一个选择就是这个。如果你有2个引擎,我假设你也有一个Rails应用程序来使用它们。在那个rails应用程序中,你可以使用git引用一个接一个地在Gemfile中要求它们。
gem 'gem_b', git: "git@github.com:user/gem_b.git"
gem 'gem_a', git: "git@github.com:user/gem_a.git"
如果必须在gemspec中声明此依赖项,则可以使用rake构建gem;
cd /path/to/gem_b
rake build
这将在gem_b.gem
文件夹下创建一个pgk
文件。
然后您可以使用gem instal安装在本地
gem install pgk/gem_b.gem
现在你在我们的本地安装了gem_b。将它作为gemspec中的依赖项添加没有问题。
当您准备发布应用程序时,您需要将gem_b.gem复制到您的服务器并使用常规方式安装;
gem install /full/path/to/gem_b.gem