Rails bcrypt load error - ruby-on-rails

I have been getting this error when ever I have tried starting the server:
d:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bcrypt-3.1.11-x86-mingw32/l
ib/bcrypt.rb:16:in `require': cannot load such file -- bcrypt_ext
(LoadError)
Funny thing is, I have had this error before and I solved it simply by running gem uninstall bcrypt,then gem uninstall bcrypt-ruby and then by running gem install bcrypt --platform=ruby (bcrypt gem was in the Gemfile). Now that I've added the pagination gems, the error has shown up again. I have tried a lot of possible solutions(like the ones listed here and some others).It didn't work.
Here's the Gemfile(the important bit):
gem 'bcrypt', '~> 3.1.11'
gem 'will_paginate', '3.0.7'
gem 'bootstrap-will_paginate', '0.0.10'
Since I have a Rails 5 version,I know that these are not the final versions of the will-paginate and bootstrap-will_paginate gems and that I may not need the bootstrap-will_paginate gem.But I have tried both with the final versions(and without the bootstrap-will_paginate gem) and I have been getting the same error.Any help would be much appreciated(for the record,I work in Atom IDE on Windows 8.1).

I solve it with uninstall all bcrypt gem versions with gem uninstall bcrypt and select option 3 (if exist) and uninstall all bcrypt-ruby gem versions with gem uninstall bcrypt-ruby and select option 3 (if exist) then install bcrypt using gem install bcrypt --platform=ruby then add this line gem 'bcrypt', platforms: :ruby or gem 'bcrypt', platforms: [:ruby, :x64_mingw, :mingw] to Gemfile, that is it :D.

Related

rails upgrading from 5.0.0.1 to rails rails 5.1 issues in installing gems

I want to upgrade an old legacy app from rails 5.0 to rails 5.1 then so on until rails 7
I have dockerized the app for easiness
please read the Gemfile, which gems are supported in Rails 7
terminal:
$ docker-compose run rails bundle install
terminal logs:
An error occurred while installing nio4r (2.5.8), and Bundler cannot continue.
In Gemfile:
rename was resolved to 1.0.8, which depends on
rails was resolved to 5.2.8.1, which depends on
actioncable was resolved to 5.2.8.1, which depends on
nio4r
this is my Gemfile: app/Gemfile
I have removed the Gemfile.lock to avoid conflicts in version that were locked
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
gem 'rails', '~> 5.1'
gem 'mysql2'
gem 'sassc'
gem 'sass'
# gem 'sass-rails', git:'https://github.com/sass/sassc-rails.git', branch: 'master'
gem 'sassc-rails'
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'
gem 'js_cookie_rails'
gem 'jbuilder'
gem 'sdoc', group: :doc
gem 'rake'
gem 'kaminari'
gem 'slim-rails'
gem 'rack-user_agent'
gem 'gmail'
gem 'whenever'
gem 'actionpack-action_caching'
gem 'breadcrumbs_on_rails'
gem 'execjs'
gem 'ltsv-logger'
gem 'therubyracer'
# 問い合わせなどの画像認証
gem 'scout_apm'
gem "recaptcha", require: "recaptcha/rails"
gem 'sentry-raven'
gem 'faraday'
gem 'faraday_middleware'
gem 'config'
gem 'font-awesome-rails'
Are you working from the Rails guide for updating versions?
Don't start with Rails 7 in mind. Just do one minor version bump at a time (5.1, 5.2, 6.0 etc... you don't have to worry about patch numbers) and make sure it works in production before moving on.
Also, if there are changes that break in version x.x, you can usually make those changes in x.x-1 before you upgrade to x.x. I suggest doing as much as you can before you get to the point of upgrading Rails and other gems.
In this case, is your app already working with Rails 5.1 (and how have you evaluated that)?
Bundler is trying to install Rails 5.2 because rails '~> 5.1' will find the latest 5.x version that is equal or greater than 5.1. If you're not sure your app is working on 5.1 yet, start there by adding a patch version so you get the latest 5.1.x: `gem 'rails', '~> 5.1.0'.
Once you've got the version number right in your Gemfile, you're on to the next step of the guide:
Change the Rails version number in the Gemfile and run bundle update
(now do the rest of the steps)

Installing the Poppler Gem and getting bundler errors when running the server

I have added and bundled these gems but I keep getting a bundler error
cannot load such file -- gobject_introspection.so (LoadError)
ruby
gem 'poppler', '~> 3.0', '>= 3.0.7'
gem "cairo", github: "rcairo/rcairo"
gem "gtk3", github: "ruby-gnome2/ruby-gnome2"
I think you should also include the gems for glib2 and gobject-introspection .

Issue when running Rails server

I have this error message when i run rails server.
cannot load such file -- bcrypt_ext (LoadError)
Please help
Error message snipet
Try uninstalling bcrypt with gem uninstall bcrypt and gem uninstall bcrypt-ruby.
Then reinstall with gem install bcrypt --platform=ruby and add this to your gemfile gem 'bcrypt', platforms: :ruby

Active_Model error in rails

I went back to a rails project I was working on and the command "rails s" started to fail. The Terminal recommended that I run a bundle install. When I did I received the following message:
Bundler could not find compatible versions for gem "activemodel":
In Gemfile:
protected_attributes (>= 0) ruby depends on
activemodel (< 5.0, >= 4.0.0.beta) ruby
rails (>= 0) ruby depends on
activemodel (3.2.12)
I have updated both ruby and rails. I've re-installed active model and restarted my terminal.
My gems file is very simple:
gem 'rails'
gem 'jquery-rails'
gem 'devise'
gem 'simple_form'
gem 'protected_attributes'
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'bootstrap-sass', '~> 2.2.2.0'
gem 'bootstrap'
end
Remove your Gemfile.lock and run
rm Gemfile.lock
and
bundle install
Remove Gemfile.lock
and then bundle
if not works then specify rails version in gemfile.
have you tried running
gem update activemodel
or
bundle update
Bundler has attempted to install Rails 4 and associated gems, but you have some gems fixed at earlier incompatible versions. Either specify a 3.x.x version of Rails or remove the version requirements on your sass-rails and coffee-rails gems.
(I took your Gemfile into a sample application and attempted to run a bundle install--I didn't get the exact error you're seeing but an error of the same cause. Removing the version requirements on those gems solved the issue. Of course that may not be appropriate for your needs!)

bcrypt error: Devise ruby 2.0 and rails 4.0

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..
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
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'
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
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.
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.
The new version of bundler just came out. It nows about x64 gems
gem install bundler -v '1.4.0.pre.2'

Resources