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 bcrypt
和gem 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