Rails 4 @Ruby 2
所以我有两个无法上传到 Rubgems 的引擎 (A, B) gem,因为代码是私有(private)的,所以我使用 git。
A 必须使用 B,所以基本上我应该在 A gemspec 中添加 B 作为依赖项。据我所知,gemspec 不允许基于 git 的 gem 作为 gemspec 内部的依赖项。
我尝试使用 A gemfile 但没有成功。有出路吗?
最佳答案
对于开发或测试,您可以在 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
这将在 pgk
文件夹下创建一个 gem_b.gem
文件。
然后你可以像这样使用 gem instal 安装它到你的本地
gem install pgk/gem_b.gem
现在你已经在我们的本地安装了 gem_b。将它作为依赖项添加到 gemspec 中是没有问题的。
当您准备发布您的应用程序时,您需要将gem_b.gem 复制到您的服务器并使用常规方式安装;
gem install /full/path/to/gem_b.gem
关于ruby-on-rails - Rails Engine gem 使用来自 git 的另一个 Rails 引擎 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18789010/