2013-07-30 35 views
1

我的設計已經在我的應用程序中設置。我想添加omniauth-facebook gem(用於facebook身份驗證)。精細開發和試運行環境,但給了我下面的錯誤在我的生產環境的設置工作:Devise + Omniauth不能在生產中工作

Could not load 'omniauth'. Please ensure you have the omniauth gem >= 1.0.0 installed and listed in your Gemfile. 
/home/slaxman/apps/itextbook/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- omniauth (LoadError) 

這一警告似乎從這個devise file發起。

的Gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.11' 

group :production do 
    gem 'pg', '0.14.1' 
    gem 'therubyracer','0.11.4' 
    gem 'execjs', '1.4.0' 
end 

group :assets do 
    gem 'sass-rails', '~> 3.2.6' 
    gem 'jquery-rails', '~> 2.2.1' 
    gem 'coffee-rails', '~> 3.2.2' 
    gem 'uglifier', '~> 1.3.0' 
    gem 'bootstrap-sass', '~> 2.3.1.2' 
    gem 'bootswatch-rails', '~> 0.5.0' 
end 

gem 'unicorn', '~> 4.6.2' 
gem 'capistrano', '~> 2.14.2' 
gem "multi_json", "~> 1.2.0" 
gem 'devise' , '~> 2.2.4' 
gem 'omniauth-facebook', '1.4.0' 
gem 'cancan', '~> 1.6.8' 
gem 'omniauth', '>= 1.0.0' 

user.rb

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, :omniauthable, 
     :recoverable, :rememberable, :trackable, :validatable 
end 

devise.rb

config.omniauth :facebook, OMNIAUTH_VAR['FACEBOOK_APP_ID'], OMNIAUTH_VAR['FACEBOOK_APP_SECRET'], scope: 'email' 

添加以下內容devise.rb也不起作用

require 'omniauth-facebook' 
require 'omniauth' 

任何幫助將不勝感激。謝謝!

回答

0

它可能不是正確的順序,這是我的Gemfile的作品的一個例子。希望這可以幫助。

source 'https://rubygems.org'              

gem 'rails', '3.2.3'                
gem 'pg'                   
gem 'jquery-rails'                 
gem 'devise'                                              
gem 'omniauth-facebook'                
gem 'acts_as_votable'                
gem 'gibbon'                  
gem 'foreman'                  
gem 'ruby-sendhub'                 
gem 'bitly'                   
gem 'rack-rewrite'                 
gem 'twitter'                  
gem 'hpricot'                  
gem 'premailer-rails3'                
gem 'kaminari'                  

group :assets do                 
    gem 'sass-rails', '~> 3.2.3'             
    gem 'coffee-rails', '~> 3.2.1'             
    gem 'therubyracer', :platform => :ruby           
    gem 'uglifier', '>= 1.0.3'              
end                     

group :test, :development do              
    gem "foreman"                  
    gem "rspec-rails"                 
    gem "factory_girl_rails"               
    gem "capybara"                 
    gem "guard-rspec"                 
    gem "spork"                  
    gem "guard-spork"                 
    gem "launchy"                  
    gem "database_cleaner"               
end 
+0

厭倦了它。仍然不起作用。我已更新該問題以詳細顯示錯誤。 –

2

解決它!顯然,這是一個獨角獸問題。重新啓動獨角獸並沒有幫助。有必要停止並重新啓動麒麟使用以下命令手動:

/etc/init.d/unicorn_appname stop 
/etc/init.d/unicorn_appname start 

你也可以這樣做:

sudo service unicorn_appname stop 
sudo service unicorn_appname start 

替換「應用程序名稱」與您的應用程序的名稱。

Answer Credit

相關問題