2013-07-19 9 views
16

Ho l'app Rails 4.0.0. Quando eseguo il comando di installazione bundle non ci sono problemi. Questo è il mio GemFile.non può attivare bcrypt-ruby (~> 3.0.0), già attivato bcrypt-ruby-3.1.1. Assicurati che tutte le dipendenze vengano aggiunte a Gemfile

source 'https://rubygems.org' 

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.0.0' 

gem 'mysql2' 

# Use SCSS for stylesheets 
gem 'sass-rails', '~> 4.0.0.rc2' 

# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 

# Use CoffeeScript for .js.coffee assets and views 
gem 'coffee-rails', '~> 4.0.0' 

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

# Use jquery as the JavaScript library 
gem 'jquery-rails' 

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
gem 'turbolinks' 

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 1.2' 

group :doc do 
    # bundle exec rake doc:rails generates the API under doc/api. 
    gem 'sdoc', require: false 
end 

# Use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Use Capistrano for deployment 
# gem 'capistrano', group: :development 

# Use debugger 
# gem 'debugger', group: [:development, :test] 

gem 'pry' 
gem 'devise', git: "https://github.com/plataformatec/devise.git", branch: 'rails4' 
gem 'bcrypt-ruby' 
gem 'simple_form' 
gem "therubyracer" 
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS 
gem "twitter-bootstrap-rails" 
gem 'simple_form' 
gem 'jquery-ui-rails' 

group :development, :test do 
    gem 'rspec-rails', '~> 2.0' 
    gem 'cucumber-rails', :git => "https://github.com/cucumber/cucumber-rails.git", :branch => "master_rails4_test", :require => false 
    gem 'database_cleaner' 
    gem 'factory_girl' 
    gem "factory_girl_rails", "~> 4.0" 
    gem "database_cleaner" 
    gem "awesome_print" 
end 

E questo è il mio Gemfile.lock

GIT 
    remote: https://github.com/cucumber/cucumber-rails.git 
    revision: 5fa9da37ab05213d2f46029ea476e09104ffe281 
    branch: master_rails4_test 
    specs: 
    cucumber-rails (1.3.1) 
     capybara (>= 1.1.2) 
     cucumber (>= 1.2.0) 
     nokogiri (>= 1.5.0) 
     rails (>= 3.0.0) 

GIT 
    remote: https://github.com/plataformatec/devise.git 
    revision: 6b5988d756d780903bf8c9ccb3e2b3b724ccebe8 
    branch: rails4 
    specs: 
    devise (2.2.4) 
     bcrypt-ruby (~> 3.0) 
     orm_adapter (~> 0.1) 
     railties (>= 3.2.6, < 5) 
     warden (~> 1.2.1) 

GEM 
    remote: https://rubygems.org/ 
    specs: 
    actionmailer (4.0.0) 
     actionpack (= 4.0.0) 
     mail (~> 2.5.3) 
    actionpack (4.0.0) 
     activesupport (= 4.0.0) 
     builder (~> 3.1.0) 
     erubis (~> 2.7.0) 
     rack (~> 1.5.2) 
     rack-test (~> 0.6.2) 
    activemodel (4.0.0) 
     activesupport (= 4.0.0) 
     builder (~> 3.1.0) 
    activerecord (4.0.0) 
     activemodel (= 4.0.0) 
     activerecord-deprecated_finders (~> 1.0.2) 
     activesupport (= 4.0.0) 
     arel (~> 4.0.0) 
    activerecord-deprecated_finders (1.0.3) 
    activesupport (4.0.0) 
     i18n (~> 0.6, >= 0.6.4) 
     minitest (~> 4.2) 
     multi_json (~> 1.3) 
     thread_safe (~> 0.1) 
     tzinfo (~> 0.3.37) 
    arel (4.0.0) 
    atomic (1.1.10) 
    awesome_print (1.1.0) 
    bcrypt-ruby (3.1.1) 
    builder (3.1.4) 
    capybara (2.1.0) 
     mime-types (>= 1.16) 
     nokogiri (>= 1.3.3) 
     rack (>= 1.0.0) 
     rack-test (>= 0.5.4) 
     xpath (~> 2.0) 
    coderay (1.0.9) 
    coffee-rails (4.0.0) 
     coffee-script (>= 2.2.0) 
     railties (>= 4.0.0.beta, < 5.0) 
    coffee-script (2.2.0) 
     coffee-script-source 
     execjs 
    coffee-script-source (1.6.3) 
    commonjs (0.2.6) 
    cucumber (1.3.4) 
     builder (>= 2.1.2) 
     diff-lcs (>= 1.1.3) 
     gherkin (~> 2.12.0) 
     multi_json (~> 1.7.5) 
     multi_test (~> 0.0.1) 
    database_cleaner (1.0.1) 
    diff-lcs (1.2.4) 
    erubis (2.7.0) 
    execjs (1.4.0) 
     multi_json (~> 1.0) 
    factory_girl (4.2.0) 
     activesupport (>= 3.0.0) 
    factory_girl_rails (4.2.1) 
     factory_girl (~> 4.2.0) 
     railties (>= 3.0.0) 
    gherkin (2.12.0) 
     multi_json (~> 1.3) 
    hike (1.2.3) 
    i18n (0.6.4) 
    jbuilder (1.4.2) 
     activesupport (>= 3.0.0) 
     multi_json (>= 1.2.0) 
    jquery-rails (3.0.4) 
     railties (>= 3.0, < 5.0) 
     thor (>= 0.14, < 2.0) 
    jquery-ui-rails (4.0.3) 
     jquery-rails 
     railties (>= 3.1.0) 
    json (1.8.0) 
    less (2.3.2) 
     commonjs (~> 0.2.6) 
    less-rails (2.3.3) 
     actionpack (>= 3.1) 
     less (~> 2.3.1) 
    libv8 (3.11.8.17) 
    mail (2.5.4) 
     mime-types (~> 1.16) 
     treetop (~> 1.4.8) 
    method_source (0.8.1) 
    mime-types (1.23) 
    mini_portile (0.5.1) 
    minitest (4.7.5) 
    multi_json (1.7.7) 
    multi_test (0.0.1) 
    mysql2 (0.3.13) 
    nokogiri (1.6.0) 
     mini_portile (~> 0.5.0) 
    orm_adapter (0.4.0) 
    polyglot (0.3.3) 
    pry (0.9.12.2) 
     coderay (~> 1.0.5) 
     method_source (~> 0.8) 
     slop (~> 3.4) 
    rack (1.5.2) 
    rack-test (0.6.2) 
     rack (>= 1.0) 
    rails (4.0.0) 
     actionmailer (= 4.0.0) 
     actionpack (= 4.0.0) 
     activerecord (= 4.0.0) 
     activesupport (= 4.0.0) 
     bundler (>= 1.3.0, < 2.0) 
     railties (= 4.0.0) 
     sprockets-rails (~> 2.0.0) 
    railties (4.0.0) 
     actionpack (= 4.0.0) 
     activesupport (= 4.0.0) 
     rake (>= 0.8.7) 
     thor (>= 0.18.1, < 2.0) 
    rake (10.1.0) 
    rdoc (3.12.2) 
     json (~> 1.4) 
    ref (1.0.5) 
    rspec-core (2.14.3) 
    rspec-expectations (2.14.0) 
     diff-lcs (>= 1.1.3, < 2.0) 
    rspec-mocks (2.14.1) 
    rspec-rails (2.14.0) 
     actionpack (>= 3.0) 
     activesupport (>= 3.0) 
     railties (>= 3.0) 
     rspec-core (~> 2.14.0) 
     rspec-expectations (~> 2.14.0) 
     rspec-mocks (~> 2.14.0) 
    sass (3.2.9) 
    sass-rails (4.0.0) 
     railties (>= 4.0.0.beta, < 5.0) 
     sass (>= 3.1.10) 
     sprockets-rails (~> 2.0.0) 
    sdoc (0.3.20) 
     json (>= 1.1.3) 
     rdoc (~> 3.10) 
    simple_form (1.4.1) 
    slop (3.4.5) 
    sprockets (2.10.0) 
     hike (~> 1.2) 
     multi_json (~> 1.0) 
     rack (~> 1.0) 
     tilt (~> 1.1, != 1.3.0) 
    sprockets-rails (2.0.0) 
     actionpack (>= 3.0) 
     activesupport (>= 3.0) 
     sprockets (~> 2.8) 
    therubyracer (0.11.4) 
     libv8 (~> 3.11.8.12) 
     ref 
    thor (0.18.1) 
    thread_safe (0.1.0) 
     atomic 
    tilt (1.4.1) 
    treetop (1.4.14) 
     polyglot 
     polyglot (>= 0.3.1) 
    turbolinks (1.3.0) 
     coffee-rails 
    twitter-bootstrap-rails (2.2.7) 
     actionpack (>= 3.1) 
     execjs 
     rails (>= 3.1) 
     railties (>= 3.1) 
    tzinfo (0.3.37) 
    uglifier (2.1.2) 
     execjs (>= 0.3.0) 
     multi_json (~> 1.0, >= 1.0.2) 
    warden (1.2.3) 
     rack (>= 1.0) 
    xpath (2.0.0) 
     nokogiri (~> 1.3) 

PLATFORMS 
    ruby 

DEPENDENCIES 
    awesome_print 
    bcrypt-ruby 
    coffee-rails (~> 4.0.0) 
    cucumber-rails! 
    database_cleaner 
    devise! 
    factory_girl 
    factory_girl_rails (~> 4.0) 
    jbuilder (~> 1.2) 
    jquery-rails 
    jquery-ui-rails 
    less-rails 
    mysql2 
    pry 
    rails (= 4.0.0) 
    rspec-rails (~> 2.0) 
    sass-rails (~> 4.0.0.rc2) 
    sdoc 
    simple_form 
    therubyracer 
    turbolinks 
    twitter-bootstrap-rails 
    uglifier (>= 1.3.0) 

Quando eseguo rake sometask, ho affrontato questo problema,

You don't have bcrypt-ruby installed in your application. Please add it to your Gemfile and run bundle install 
rake aborted! 
can't activate bcrypt-ruby (~> 3.0.0), already activated bcrypt-ruby-3.1.1. Make sure all dependencies are added to Gemfile. 
/Users/apple/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:224:in `block in replace_gem' 
/Users/apple/.rvm/gems/[email protected]/gems/activemodel-4.0.0/lib/active_model/secure_password.rb:47:in `has_secure_password' 
/Users/apple/Projects/YH/multi-domains/app/models/super_admin_user.rb:2:in `<class:SuperAdminUser>' 
/Users/apple/Projects/YH/multi-domains/app/models/super_admin_user.rb:1:in `<top (required)>' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:423:in `load' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:423:in `block in load_file' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:615:in `new_constants_in' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:422:in `load_file' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:323:in `require_or_load' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:462:in `load_missing_constant' 
/Users/apple/.rvm/gems/[email protected]/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:183:in `const_missing' 
/Users/apple/Projects/YH/multi-domains/lib/tasks/generate_new_data.rake:3:in `block in <top (required)>' 

Come dovrei risolvere questo problema?

risposta

0

Aggiungi; gemma 'bcrypt-ruby', '~> 3.1.1' al vostro Gemfile

Oppure, se si vuole specificamente 3.0.0, seguire il consiglio di Massimo e aggiungere: gemma 'bcrypt-ruby', '3.0.0'

Quindi bundle aggiorna bcrypt-ruby.

Si potrebbe anche voler provare a eliminare il tuo gemfile.lock e ri-esecuzione bundle install.

0

Rimuovi Gemfile.lock e specifica la gemma 'bcrypt-ruby', '3.0.0'. Esegui bundle install. In realtà, nel file gem locale bcrypt-ruby dovrebbe essere disinstallato.

44

Nel tuo gemfile, non stai specificando la versione, quindi stai installando l'ultima versione di bcrypt-ruby che è 3.1.1, ma quello che ti serve è qualsiasi versione dalla 3.0.0 alla 3.0.9. È possibile ottenere questo con l'aggiunta di un vincolo di versione in questo modo:

gem 'bcrypt-ruby', '~> 3.0.0' 

Il requisito versione viene dal SecurePassword di ActiveModel che attualmente ha una dipendenza esplicita sul bcrypt-ruby (~> 3.0.0). È possibile visualizzare la dipendenza su github. Quando viene eseguito questo codice, sembra per una versione 3.0.0 tramite 3.0.9 che non è installato e quindi genera un errore.

Questa dipendenza è stato appena aggiornato a '~> 3.1.0' un paio di giorni fa, ma non ha fatto la sua strada nelle guide activemodel gioiello ancora. Quando lo farà, dovrai aggiornare la tua versione di conseguenza. Ecco lo commit se sei curioso.

1

Ho avuto lo stesso problema. Aggiungi

gem 'bcrypt-ruby', '~> 3.0.0'

quindi eseguire bundle install e il riavvio del server. Ha lavorato per me

0

ho avuto lo stesso problema, ma l'approccio corrente fornita gem 'bcrypt-ruby', '~> 3.0.0' non ha funzionato versione così ho effettivamente installato 3.0.0 aggiungendo la riga gem 'bcrypt-ruby', '3.0.0' per Gemfile e l'installazione specifica versione 3.0.0 (anche se dovrebbe funzionare fino alla versione 3.0.9)

gem install --version='3.0.0' bcrypt-ruby

Dopo questo, basta verificare installare il pacchetto, è possibile eseguire bundle show bcrypt-ruby e allora si dovrebbe avere il percorso in cui è stato installato questo gioiello, qualcosa come

% RUBY_PATH%/lib/rubino/gemme/2.0.0/gemme/bcrypt-ruby-3.0.0

dopo questi passaggi sono stato in grado di utilizzare la bcrypt senza problemi ... solo questo distacco in caso qualcuno incontra ancora questo problema.

3
  1. installare sia la versione 3.0.1 e 3.1.2 bcrypt
  2. vai a "\ Ruby200 \ lib \ ruby ​​\ gemme \ 2.0.0 \ gemme \ bcrypt-ruby-3.1.2-x86-mingw32 \ lib"
  3. copiare il '2.0' cartella incollare
  4. in "Ruby200 \ lib \ ruby ​​\ gemme \ 2.0.0 \ gemme \ bcrypt-ruby-3.0.1-x86-mingw32 \ lib"
  5. includono gioiello 'bcrypt-ruby' nel tuo Gemfile
  6. installazione bundle
+0

funziona benissimo. Grazie –

0

Usa ActiveModel has_secure_password

gem 'bcrypt-ruby', '~> 3.0.0' 

avuto lo stesso problema. La rimozione del commento # dalla riga precedente ha risolto il problema, come menzionato da Jconley.

0

Per me ha funzionato eliminando solo la dipendenza per la versione di bycript in /active_model/secure_password.rb per l'ambiente di test di sviluppo.

ho sempre fatto in modo di aggiungere in produzione solo per sicuro

0

100% In console:

$ gem install bundler 
$ gem install bcrypt 
$ bundle update bcrypt 
Problemi correlati