2013-01-23 1 views
3

내가 여기에 언급 기본 지침에 따라 오전 : http://guides.spreecommerce.com/getting_started.htmlSpree 설치가 작동하지 않습니다. 가져 오기 오류 : 정의되지 않은 방법을 고안에 대한`add_module '모듈 (NoMethodError)는

가 BTW 난 이미 내 Gemfile에 gem 'devise-encryptable' 있습니다. 무슨 일이 일어나고 있는지

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/devise-encryptable-0.1.1/lib/devise/encryptable/encryptable.rb:28:in `<top (required)>': undefined method `add_module' for Devise:Module (NoMethodError) 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/devise-encryptable-0.1.1/lib/devise-encryptable.rb:1:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/devise-encryptable-0.1.1/lib/devise-encryptable.rb:1:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `block in require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.3/lib/bundler.rb:128:in `require' 
    from /Users/amiterandole/Desktop/current/rails/mystore/config/application.rb:7:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.11/lib/rails/commands.rb:24:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.11/lib/rails/commands.rb:24:in `<top (required)>' 
    from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

이며 어떻게 해결합니까 :

때 오류가 나는 얻을 I mystorecdspree install를 실행하려고,이 있는가? 나는 레일과 스피리의 최신 버전을 사용하고 있습니다. 내가 설치 한 유증 버전은 devise-2.2.2

UPDATE입니다 : 여기 내 gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.11' 

gem 'pg' 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

gem 'devise-encryptable' 

# To use debugger 
# gem 'debugger' 
gem 'spree', '1.3.1' 
gem 'spree_gateway', :github => 'spree/spree_gateway', :branch => '1-3-stable' 
gem 'spree_auth_devise', :github => 'spree/spree_auth_devise', :branch => '1-3-stable' 
+0

전체'Gemfile'을 보여주십시오. –

+0

@RyanBigg 내 Gemfile로 질문을 업데이트했습니다. –

답변

9

인 Gemfile의 바닥이 줄 gem 'devise-encryptable'

을 배치하십시오. 이 문제가 해결되었습니다. 아마 devise-encryptable gem은 Devise.add_module 메소드가없는 Devise의 이전 버전을 찾습니다.

+1

조지 감사합니다. 이 시간 동안 내 시간을 낭비했다는 것을 믿을 수 없다. –

+2

'gem '* devise *' '후에 그것을 배치하면 속임수를 쓸 것이다. – zakelfassi

0

spree_auth_devise 보석에 이미 지정되어 있으므로 Gemfile에서 gem 'devise-encryptable'을 제거하십시오. 여기서 일어나는 일은 devise 보석 앞에로드되는 보석인데, 이로 인해 응용 프로그램이 손상됩니다.

+0

이것은 작동하지 않았지만 파일의 맨 아래로 줄을 옮겼습니다. –

1

지금이 오류가 발생하여 해결책이 있습니다. gem의 디렉토리에 lib/devise-encryptable.rb 파일을 열고 처음에 다음 줄을 추가해야합니다 : require 'devise'. this advice을 따르는 것을 잊지 마십시오. 즐겨.