Bundle install不会从私有git repo安装gem

时间:2017-08-29 22:44:32

标签: ruby rubygems gemfile

发生了一些奇怪的事情,几个小时前,一切都过去了。

我有一个私有宝石作为项目的依赖。我已经添加了私有gem git repo,如下所示:

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 list时,这个宝石没有显示出来。此外,当我执行pry -r my-awesome-gem或在项目中需要它时,它会返回:

! 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。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

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

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

或者:

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

安装了gem,只有在$LOAD_PATH中加载Bundler并找到所有依赖项之后,它才会出现在Gemfile中。