簡體   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