bcrypt错误:设计ruby 2.0和rails 4.0
当我尝试运行我的应用程序时,我一直收到此错误:
C:/ruby-2.0.0-p195-i386-mingw32/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.rc1 /lib/active_support/dependencies.rb:228:in`requirement’:无法加载此类文件 – 2 .0 / bcrypt_ext(LoadError)
任何接受者? – 我试图使用设计gem进行基本的用户身份validation..
当我在Windows上更新到Ruby 2.0.0+时,我遇到了这个错误。 我能够通过卸载下载的所有版本的bcrypt并使用DevKit构建gem来解决它。
gem uninstall bcrypt-ruby gem install bcrypt-ruby --platform=ruby --no-ri --no-rdoc
通常进行bundle update
将下载预编译的gem mingw32
扩展,在这种情况下似乎不起作用。 将来不需要重新安装bcrypt-ruby的解决方法。
另外,我在这里继续更新Ruby on Rails的Windows安装说明(主要是供我自己参考),以便在Windows上安装Ruby on Rails。
https://github.com/remomueller/documentation/tree/master/windows
您可能遇到的其他一些Windows陷阱也列在那里:
https://github.com/remomueller/documentation/blob/master/windows/190-miscellaneous.md
在解决此问题之前,最好的解决方法是从git安装bcrypt-ruby
:
gem 'bcrypt-ruby', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
更新(2016年6月) – 正如@gneri所提到的, bcrypt-ruby
将其名称更改为bcrypt
,因此请使用:
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
关于Window 7上的has_secure_password
问题有助于此
gem uninstall bcrypt-ruby
gem uninstall bcrypt
gem install bcrypt-ruby --platform=ruby --no-ri --no-rdoc
gem install bcrypt --platform=ruby --no-ri --no-rdoc
添加到Gemfile:
gem 'bcrypt-ruby', '~> 3.0.0', :require => 'bcrypt' gem 'bcrypt'
bundle install
事实certificate,我正在使用的ruby版本存在问题。 我使用的是ruby2(32位)。
但如果你切换到64位版本的ruby 2,错误就会消失。
似乎使用Windows作为ROR应用程序的开发平台的垮台。 我需要使用Ruby 2.0 32位才能获得PG gem以便postgresql连接工作,或者我必须使用Ruby 2.0 64位才能让’Devise’gem工作。
捆绑器的新版本刚刚问世。 它注定了x64gem
gem install bundler -v '1.4.0.pre.2'