Windows 10

时间:2015-12-26 06:59:37

标签: ruby-on-rails 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问题?

4 个答案:

答案 0 :(得分:5)

我花了几个小时来完成这项工作,但请随意分享。这里的根本问题是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,但无论更新版本,只需从他们的宝石页面添加它。运行bundle install,它应该可以正常工作。

答案 1 :(得分:3)

在你的宝石文件中添加:

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

这对我有用 Windows 10 64位

答案 2 :(得分:2)

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

答案 3 :(得分:0)

gem uninstall bcryptgem install bcrypt --platform=ruby是一个临时解决方案,在捆绑安装之后中断。

我的修复=>

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