ruby-on-rails - 将 Rails 应用程序部署到 Heroku 时出现 "Cannot load such file"错误

标签 ruby-on-rails ruby ruby-on-rails-4 heroku

我正在使用 gem for gmail在我的 Rails 应用程序中。我的 Gemfile 包含:

gem 'gmail-api-ruby', :require => 'Gmail'

在我的 Controller 中,我使用以下方法初始化 gem(使用 devise/omniauth 从 Google 获取 refresh_token):

Gmail.client_id = ENV['CLIENT_ID']
Gmail.client_secret = ENV['CLIENT_SECRET']
Gmail.refresh_token = current_user.refresh_token

这在开发中工作正常,但是当我部署到 Heroku 时,出现以下错误:

/app/vendor/bundle/ruby/2.2.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:76:in `require': cannot load such file -- Gmail (LoadError)

我想不通为什么。我应该在我的应用程序的其他地方要求 gem 吗?

  • ruby 2.2.0
  • bundler :1.8.5
  • rails :4.2.0

最佳答案

require 如果底层文件系统区分大小写(它在 linux 上,它是 heroku 的基础),则区分大小写

更改为 :require => 'gmail' 而不是 Gmail,你应该没问题。

关于ruby-on-rails - 将 Rails 应用程序部署到 Heroku 时出现 "Cannot load such file"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29056423/

相关文章:

ruby-on-rails - 编辑和测试现有 Ruby gem(即 Gollum)的最佳方法是什么?

ruby-on-rails - 我的/public 目录可以是带有 rails 3 + 乘客 3 + nginx 0.8 的符号链接(symbolic link)吗?

ruby-on-rails - rails : Devise login after sign up

ruby - Ruby 的执行栈是什么样子的?

ruby-on-rails - Seahorse::Client::NetworkingError(主机名 "mybucketname.s3.s3-us-west-2.amazonaws.com"与服务器证书不匹配)

ruby-on-rails - 修改特定迁移

ruby-on-rails - 将 Ruby on Rails 安装到 Synology DSM 5.2 时出现问题

arrays - 从数组中获取对象

ruby-on-rails - Respond_to block 不起作用

postgresql - Rails 4 Posgres 草拟模型和关系。我需要建议