3

有人在 Windows 8 上安装 bcrypt 3.0.1 或 3.1.2 有任何问题吗?我试过测试不同的版本,但我收到了这个错误。

但是在运行 rails server 后出现此错误。无法加载此类文件 -- 2.0/bcrypt_ext “您的应用程序中没有安装 bcrypt-ruby。请将其添加到您的 gemfile 并运行捆绑安装”

我正在使用:操作系统:Windows 8 Rails 4.0.0 Ruby 2.0.0 bcrypt-ruby 3.0.1

我的 gemsfile 已将 bcrypt 定义为这个。宝石'bcrypt-ruby','3.0.1'

当我卸载 3.0.1 并安装 3.1.2 时,更新我的 gemfile 以指向 3.1.2,运行 bundle install,然后运行 ​​rails server 我收到一个错误:

“无法激活 bcrypt-ruby (~>3.0.0),已经激活 3.1.2...确保所有依赖项都添加到 gemfile。”

我尝试进行捆绑更新以使我获得所有依赖项,但没有运气。我搜索了多个论坛并尝试了许多没有运气的解决方案。我很乐意为您提供任何建议和反馈。

谢谢!

4

2 回答 2

9

bcrypt-ruby 3.0.1 大约在 2 年前发布,与您的环境不兼容。您必须使用最新版本 [3.1.2]。

这就是我在我的 Gemfile 中声明它的方式:

gem 'bcrypt-ruby', github: 'codahale/bcrypt-ruby'

或者

gem 'bcrypt-ruby', '3.1.2'

http://rubygems.org获取

要摆脱错误(无法激活 bcrypt-ruby (~> 3.0.0),...),请转到

ruby_dir/lib/ruby/gems/2.0.0/gems/activemodel-4.0.0/lib/active_model/secure_password.rb:47

并将行更改为

gem 'bcrypt-ruby', '~> 3.0.0'

gem 'bcrypt-ruby', '~> 3.1.0'
于 2013-09-21T14:09:40.470 回答
1

在http://ruby.railstutorial.org/构建示例应用程序时,我遇到了同样的问题。这个答案,稍加调整,为我解决了它:

https://stackoverflow.com/a/17368137/2721455

根据上面帖子中的说明卸载并重新安装gem后,我进入我的Ruby200/lib/ruby/gems/2.0.0/gems目录并删除了所有以-mingw32结尾的bcrypt-ruby版本或-mingw64,保留'bcrypt-ruby-3.0.1'和'bcrypt-ruby-3.1.2'。

请注意——如果您运行捆绑更新,则必须重新执行此操作,因为 Windows 版本的 bcrypt-ruby 将自动重新安装。

于 2013-10-07T13:13:25.907 回答