发生了一些奇怪的事情,几个小时前一切正常。
我有一个私有(private) gem 作为项目的依赖项。我已经添加了私有(private) 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
时,这个 gem 没有显示。此外,当我执行 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。
我做错了什么?
最佳答案
使用 Bundler 时,您必须在使用的任何代码中使用 Bundler。这意味着:
require 'bundler/setup'
require 'my-awesome-gem'
或者:
pry -r bundler/setup -r my-awesome-gem
gem 已安装,只是不在您的 $LOAD_PATH
中,直到您让 Bundler 加载到 Gemfile
中并找到所有依赖项。
关于ruby - Bundle install 不会从私有(private) git repo 安装 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949335/