13
votes

I keep getting this error when i try to run my app:

C:/ruby-2.0.0-p195-i386-mingw32/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.rc1 /lib/active_support/dependencies.rb:228:in `require': cannot load such file -- 2 .0/bcrypt_ext (LoadError)

Any takers? - im trying to use the devise gem for basic user authentication..

6
Have you tried reinstalling the bcrypt-ruby gem?PinnyM
Have the same issue with the same setup.Rails beginner

6 Answers

26
votes

I've gotten this error when I updated to Ruby 2.0.0+ on Windows. I was able to solve it by uninstalling all versions of bcrypt that were downloaded, and building the gem using DevKit.

gem uninstall bcrypt-ruby

gem install bcrypt-ruby --platform=ruby --no-ri --no-rdoc

Usually doing a bundle update will download a precompiled gem mingw32 extension, which in this case appears not to work. This workaround for reinstalling bcrypt-ruby will hopefully not be needed in the future.

Additionally, I keep updated Windows installation instructions for Ruby on Rails here (mostly for my own reference) for installing Ruby on Rails on Windows.

https://github.com/remomueller/documentation/tree/master/windows

Some other Windows pitfalls you may run into are also listed there:

https://github.com/remomueller/documentation/blob/master/windows/190-miscellaneous.md

9
votes

Until this problem is fixed, the best workaround is to install bcrypt-ruby from git:

gem 'bcrypt-ruby', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'

Update (June 2016.) - as @gneri mentioned, bcrypt-ruby changed it's name to bcrypt, so use:

gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
2
votes

On problem with has_secure_password on Window 7 helps this

gem uninstall bcrypt-ruby

gem uninstall bcrypt

gem install bcrypt-ruby --platform=ruby --no-ri --no-rdoc

gem install bcrypt --platform=ruby --no-ri --no-rdoc

Add to Gemfile:

gem 'bcrypt-ruby', '~> 3.0.0', :require => 'bcrypt'
gem 'bcrypt'

bundle install

0
votes

turns out that it was a problem with the version of ruby that i was using. I was using ruby 2 (32bit).

but if you switch to the 64bit version of ruby 2 the error goes away.

0
votes

Seems like the downfall of using windows as a development platform for ROR apps. I need to use Ruby 2.0 32 bit in order to get PG gem for a postgresql connection to work or I have to use Ruby 2.0 64 bit to get 'Devise' gem to work.

0
votes

The new version of bundler just came out. It nows about x64 gems

gem install bundler -v '1.4.0.pre.2'