Страницы

Поиск по вопросам

понедельник, 13 апреля 2020 г.

Не работает gem 'bcrypt-ruby' в Rails 4.0.0

#gems #ruby #ruby_on_rails

                    
Добрый день.
У меня стоит Ruby 2 и Rails 4. Проблемы возникли с gem 'bcrypt-ruby'. При установке
gem 'bcrypt-ruby', '~> 3.0.0' устанавливается версия gem 3.0.1. Рестарт.
Появляется ошибка 
cannot load such file -- 2.0/bcrypt_ext
This error occurred while loading the following files:
   bcrypt
   bcrypt_ext
   2.0/bcrypt_ext

Удалил этот гем и поставил версию gem 'bcrypt-ruby', '~> 3.1.0'. Устанавливается
версия gem 3.1.2. Рестарт. Появляется другая ошибка:
    can't activate bcrypt-ruby (~> 3.0.0), already activated bcrypt-ruby-3.1.2-x86-mingw32.
Make sure all dependencies are added to Gemfile:
app/models/user.rb:4:in `'
app/models/user.rb:1:in `'
app/controllers/users_controller.rb:7:in `new'

В интернете довольно часто встречались эти проблемы, но везде совет один и тот же:
переустановить гем, и перезапустить сервер. Мне это не помогло. Проект делается на
Windows 7, по техническим причинам поставить Linux нет возможности. На rails 3.2.12
все работало прекрасно. А здесь нет. 
Спасибо за внимание.
Gemfile.lock
    GEM
  remote: http://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.13)
    bcrypt-ruby (3.1.2-x86-mingw32)
    builder (3.1.4)
    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)
    erubis (2.7.0)
    execjs (2.0.0)
    hike (1.2.3)
    i18n (0.6.5)
    jbuilder (1.5.1)
      activesupport (>= 3.0.0)
      multi_json (>= 1.2.0)
    jquery-rails (3.0.4)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    json (1.8.0)
    mail (2.5.4)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.24)
    minitest (4.7.5)
    multi_json (1.7.9)
    polyglot (0.3.3)
    protected_attributes (1.0.3)
      activemodel (>= 4.0.0, < 5.0)
    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)
    sass (3.2.10)
    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)
    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)
    sqlite3 (1.3.8-x86-mingw32)
    thor (0.18.1)
    thread_safe (0.1.2)
      atomic
    tilt (1.4.1)
    treetop (1.4.15)
      polyglot
      polyglot (>= 0.3.1)
    turbolinks (1.3.0)
      coffee-rails
    tzinfo (0.3.37)
    uglifier (2.2.0)
      execjs (>= 0.3.0)
      multi_json (~> 1.0, >= 1.0.2)

PLATFORMS
  x86-mingw32

DEPENDENCIES
  bcrypt-ruby
  coffee-rails (~> 4.0.0)
  jbuilder (~> 1.2)
  jquery-rails
  protected_attributes
  rails (= 4.0.0)
  sass-rails (~> 4.0.0)
  sdoc
  sqlite3
  turbolinks
  uglifier (>= 1.3.0)

Gemfile
source 'http://rubygems.org'

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

# Use sqlite3 as the database for Active Record
gem 'sqlite3'

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

# 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

gem 'protected_attributes'

# Use ActiveModel has_secure_password
gem 'bcrypt-ruby'
    


Ответы

Ответ 1



Если нет возможности ставить и работать на линуксе - используйте VirtualBox + Vagrant. Сбережёте себе не один гигабайт нервных клеток (: ps: если gem list bcrypt-ruby выдаёт несколько гемсов - убейте младший.

Ответ 2



в Gemfile.lock замените bcrypt-ruby (3.1.2-x86-mingw32) на bcrypt-ruby (3.1.2) и все будет работать

Комментариев нет:

Отправить комментарий