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
中加载并找到所有依赖项。
发生了一些奇怪的事情,几个小时前一切正常。
我有一个私有的 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
中加载并找到所有依赖项。