我正在开发 Ruby gem,如何使用我的 Rails 应用程序在本地试用它?

I'm developing a Ruby gem, how can I try it out locally with my Rails app?

我正在开发一个 gem 旨在与 Rails 项目一起使用,并想在本地与我的另一个 Rails 应用程序一起试用。

我用 bundle exec rake release 构建了 gem,它在 /pkg 目录中放置了一个 .gem 文件。

然后,在我的 Rails 应用程序中,我将以下内容添加到我的 gem 文件

gem 'mygem', '0.1.1', path: '/Users/me/projects/mygem/ruby/pkg'

然后我运行bundle install里面说装了gem。当我这样做时,它会从路径中删除 gem 。 IDK 它去了哪里。

当我启动 Rails 应用程序时,好像 gem 根本不包含在内。

有趣的是,如果我添加一个根本不存在的版本,它仍然说 bundle install 工作正常。 (示例:gem 'mygem', '0.1.2345', path: '/Users/me/projects/mygem/ruby/pkg'

我应该怎么做才能在本地使用 Rails 应用试用我的 Gem?

这个问题与How can I specify a local gem in my Gemfile?不同,因为我在我的Gem文件中明确告诉bundle使用本地gem,给定路径,但它仍然不起作用.当我 运行 捆绑安装时,它说

Using mygem 0.1.1 from source at /Users/me/projects/mygem/pkg

所以你认为它工作正常,但它仍然没有。

有趣的是,如果我尝试使用不存在的版本号,比如我的gem 1.2.3,它仍然运行s bundle install 成功,这真的很奇怪而且看起来像一个错误:

Using mygem 1.2.3 (was 0.1.1) from source at /Users/me/projects/mygem/pkg

在本地 gem 和 Rails 项目并排工作时,我更喜欢使用以下内容:

gem 'foo',
  :git => '/path/to/local/git/repo',
  :branch => 'my-fancy-feature-branch'