发生了一些奇怪的事情,几个小时前,一切都过去了。
我有一个私有宝石作为项目的依赖。我已经添加了私有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。
我做错了什么?
答案 0 :(得分:3)
使用Bundler时,您必须使用您使用的任何代码中的Bundler。这意味着:
require 'bundler/setup'
require 'my-awesome-gem'
或者:
pry -r bundler/setup -r my-awesome-gem
安装了gem,只有在$LOAD_PATH
中加载Bundler并找到所有依赖项之后,它才会出现在Gemfile
中。