Bundle install 没有从私人 git 仓库安装 gem

Bundle install doesn't install gem from private git repo

发生了一些奇怪的事情,几个小时前一切正常。

我有一个私有的 gem 作为项目的依赖项。我添加了私人 gem git 回购协议如下:

gem 'my-awesome-gem', '>=1.2.3', git: 'https://john:pass123@bitbucket.org/johndoe/my-awesome-gem'

在执行 bundle install 时显示:

...
Using my-awesome-gem 1.2.3 from https://john:pass123@bitbucket.org/johndoe/my-awesome-gem (at master@bc19e27)
Bundle complete! 5 Gemfile dependencies, 21 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

但是这个 gem 在我 gem list 时不显示。此外,当我在项目中执行 pry -r my-awesome-gem 或要求它时 returns:

! Unable to load application: LoadError: cannot load such file -- my-awesome-gem
/Users/johndoe/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- my-awesome-gem (LoadError)
...

我已经玩了几个小时了,但找不到问题所在。我试过通过 rbenv 重新安装 ruby。我正在通过 rbenv 使用 Ruby 2.4.1。

我做错了什么?

使用 Bundler 时,您必须在使用的任何代码中使用 Bundler。这意味着:

require 'bundler/setup'
require 'my-awesome-gem'

或者:

pry -r bundler/setup -r my-awesome-gem

gem 已安装,它不在您的 $LOAD_PATH 中,直到您让 Bundler 在 Gemfile 中加载并找到所有依赖项。