繁体   English   中英

将Rails应用程序部署到Heroku时“无法加载此类文件”错误

[英]“Cannot load such file” error when deploying Rails app to Heroku

我在我的Rails应用程序中使用了一个用于gmailgem 我的Gemfile包含:

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

在我的控制器中,我使用(使用devise / omniauth从Google获取refresh_token )初始化gem:

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)

我无法弄清楚为什么。 我应该在我的应用程序中的其他地方要求宝石吗?

  • Ruby 2.2.0
  • Bundler:1.8.5
  • Rails:4.2.0

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

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

只需从您的Gemfile删除无用的require选项,因为bundler可以在此gem中加载类,而不require在您的情况下指定require选项。

gem 'gmail-api-ruby', '~> 0.0.10'

并运行bundle install

仅供参考:请在此处阅读有关require选项的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM