windows 10 中的 bcrypt 加载错误

bcrypt loading error in windows 10

现在我正在尝试在 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 问题?

尝试修复 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

我花了几个小时才完成这项工作,但请随时分享 it.The 这里的根本问题是 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 页面添加即可。 运行 捆绑安装,它应该可以正常工作。

在您的 gem 文件中添加:

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

这对我在 Windows 10 64 位 上有效。

gem uninstall bcryptgem install bcrypt --platform=ruby 是临时修复,在 捆绑安装 后损坏。

我的修复=>

gemfile.lock:

(从 gemfile.lock 中删除 bcrypt)

将设计更改为:

devise (4.4.3)
  bcrypt (~> 3.0)

<向下滚动到依赖项>

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