Gem 需要手动要求

Gem needs to be required manually

我创建了一个 gem。你可以在这里看到完整的源代码: https://github.com/agilie/instagram_api_gem(无论如何,不​​是广告)

但是,当我在Rails项目中使用它时

# Gemfile
gem 'instagram_api_client'

直到像

这样的初始化器中的某个地方手动要求它才起作用
require 'instagram_api'

为什么会发生这种情况? 我希望它像其他 rails gem 一样在没有任何手册要求的情况下工作。

它不符合 Rails 自动加载规则。创建一个文件instagram_api_client.rb,内容

require 'instagram_api'

lib 文件夹的顶层。这应该可以解决问题。

对于gems,自动加载的文件名应该与gem.

的文件名完全相同

或者,正如@TomLord 所建议的,可以简单地指定

gem 'instagram_api_client', require: 'instagram_api'

Gemfile 本身。