Rails 4 @ Ruby 2
我有两个引擎(A、B)的宝石,由于代码是私有的,无法上传到 Rubgems,因此我使用 git。
A 必须使用 B,因此基本上我应该将 B 添加为 A gemspec 的依赖项。据我所知,gemspec 不允许将基于 git 的宝石作为 gemspec 中的依赖项。
我尝试过使用 A gemfile,但没有成功。是否有办法解决?
Rails 4 @ Ruby 2
我有两个引擎(A、B)的宝石,由于代码是私有的,无法上传到 Rubgems,因此我使用 git。
A 必须使用 B,因此基本上我应该将 B 添加为 A gemspec 的依赖项。据我所知,gemspec 不允许将基于 git 的宝石作为 gemspec 中的依赖项。
我尝试过使用 A gemfile,但没有成功。是否有办法解决?
对于开发或测试,您可以在Gemfile中完成。您甚至可以将其指向使用本地文件夹。
gem 'gem_b', path: "/path/to/the/folder"
或者使用 Git 引用
gem 'gem_b', git: "git@github.com:user/gem_b.git"
gem 'gem_b', git: "git@github.com:user/gem_b.git"
gem 'gem_a', git: "git@github.com:user/gem_a.git"
cd /path/to/gem_b
rake build
这将在 pkg
文件夹下创建一个 gem_b.gem
文件。
然后你可以使用 gem install 命令在本地安装它,就像这样:
gem install pgk/gem_b.gem
现在你已经在本地安装了gem_b。将其作为依赖项添加到gemspec中不会有任何问题。
当你准备发布你的应用程序时,你需要将gem_b.gem复制到你的服务器,并使用通常的方式进行安装;
gem install /full/path/to/gem_b.gem