Windows 10中的bcrypt加载错误

现在我正在尝试在Windows 10中安装bcrypt,但是每当运行webrick服务器时我都会遇到加载错误,如下所示。

C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/bcrypt-3.1.10-x64-mingw32/lib/bcrypt.rb:16:in `require': cannot load such file -- bcrypt_ext (LoadError) 

我使用rails 4.1.5和ruby 2.2.3。 当我使用Windows 8.1时,bcrypt没有问题。 当我使用Windows 8.1时,ruby版本是2.1.6

我该如何解决这个bcrypt问题?

我花了几个小时才完成这个工作但是请随意分享它。这里的根本问题是ruby本身带有bcrypt版本3.1.5,它有更新的更新错误。 然而,当你安装或卸载bcrypt时,你会在bcrypt-ruby之后留下它总是首先要求,因此你所做的一切都不会通过,所以怎么办? 1-通过运行以下两个命令卸载bcrypt和bcrypt-ruby: gem uninstall bcrypt

  gem uninstall bcrypt-ruby 

2-再次安装

 gem install bcrypt --platform=ruby 

在你的Gemfile中写

  gem 'bcrypt','~>3.1.11' 

现在,当我写这些行时,最新版本是3.1.11,但无论更新版本,只需从他们的gem页面添加它。 运行bundle install,它应该可以正常工作。

在你的gem文件中添加:

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

这在Windows 10 64 Bit适用于我。

尝试修复Gemfile

 gem 'bcrypt', '~> 3.1.10', require: false if Bundler::WINDOWS gem 'bcrypt-ruby', '~> 3.0.0', require: false else gem 'bcrypt', '~> 3.1.10', require: false end 

gem uninstall bcryptgem install bcrypt --platform=ruby是一个临时修复,在bundle安装后破解。

我的修复=>

Gemfile.lock的:

(从gemfile.lock中删除bcrypt)

改变设计:

 devise (4.4.3) bcrypt (~> 3.0) 

<向下滚动到DEPENDENCIES>

 DEPENDENCIES bcrypt! devise (~> 4.3) 

的Gemfile:

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

命令行: gem uninstall bcrypt bundle install