现在我正在尝试在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问题?
答案 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 bcrypt
和gem 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