ruby - Bundle install 不会从私有(private) git repo 安装 gem

标签 ruby rubygems gemfile

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

我有一个私有(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/

相关文章:

ruby-on-rails - Rails 3. 提交表单时更改重定向

ruby-on-rails - Rails 说 json 1.8.1 丢失,即使它在 bundle 安装期间列出

ruby-on-rails - Gemfile 语法错误 : <<<<<<< HEAD when trying to start localhost

ruby-on-rails - 运行 bundle install 时出现 Ruby 错误

ruby - Ruby 中 gsub 的奇怪行为

ruby - 展平嵌套的 json 对象

ruby - 如何将其他构建系统与 ruby​​gems 一起使用?

ruby - 是否可以使用事件记录为表定义复合主键?

ruby - 在 Ruby 中取消定义变量

macos - 在 MacOS 上安装 bundle 程序而不使用 sudo?