13

当我尝试运行我的应用程序时,我不断收到此错误:

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 `require':无法加载此类文件 -- 2 .0/bcrypt_ext (LoadError)

有接盘侠吗?- 我正在尝试使用设计 gem 进行基本用户身份验证..

4

6 回答 6

26

在 Windows 上更新到 Ruby 2.0.0+ 时出现此错误。我能够通过卸载所有已下载的 bcrypt 版本并使用 DevKit 构建 gem 来解决它。

gem uninstall bcrypt-ruby

gem install bcrypt-ruby --platform=ruby --no-ri --no-rdoc

通常这样做bundle update会下载一个预编译的 gemmingw32扩展,在这种情况下似乎不起作用。希望将来不再需要这种重新安装 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

于 2013-06-28T15:17:59.763 回答
9

在解决此问题之前,最好的解决方法是bcrypt-ruby从 git 安装:

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'
于 2013-07-01T14:33:41.120 回答
2

has_secure_password关于 Window 7 的问题有助于此

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

于 2015-11-11T16:37:42.027 回答
0

新版本的捆绑器刚刚问世。现在是关于 x64 宝石

gem install bundler -v '1.4.0.pre.2'
于 2013-08-27T23:51:08.143 回答
0

Seems like the downfall of using windows as a development platform for ROR apps. I need to use Ruby 2.0 32 bit in order to get PG gem for a postgresql connection to work or I have to use Ruby 2.0 64 bit to get 'Devise' gem to work.

于 2013-06-12T18:08:20.070 回答
0

原来这是我使用的 ruby​​ 版本的问题。我使用的是红宝石 2(32 位)。

但是如果你切换到 ruby​​ 2 的 64 位版本,错误就会消失。

于 2013-06-10T12:34:45.720 回答