bcrypt-ruby - 您的应用程序中没有安装bcrypt-ruby

时间:2013-09-20 11:48:20

标签: ruby-on-rails bcrypt-ruby

我是Ruby on Rails的初学者,并试图从http://ruby.railstutorial.org/学习我正在创建sample_app并陷入第6章。

我的Ruby版本:ruby 2.0.0p195(2013-05-14)[i386-mingw32]

My Rails版本:Rails 4.0.0

我的GemFile中有以下行:

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

如果我输入gem list bcrypt-ruby,则会显示bcrypt-ruby (3.0.1)。但是,如果我尝试创建用户,我会收到错误

  

您的应用程序中未安装bcrypt-ruby。请将其添加到您的Gemfile并运行bundle install

我在rails网站上搜索了很多,bcrypt网站&甚至stackoverflow。但是,没有任何效果。请帮忙。

6 个答案:

答案 0 :(得分:2)

我最近遇到过这个问题(和许多其他人一样)。根据ladyruby723发布here,在gemfile文件中使用gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'

答案 1 :(得分:1)

我通过以下一行解决了同样的问题:

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

答案 2 :(得分:0)

最后......让它工作..不明白确切的问题,但我做了两个重要的改变。我不确定哪个改变让它起作用.. 我卸载了我的旧红宝石和放大器。从railsinstaller安装的rails。为我的操作系统安装了ruby(64位,我从railsinstaller安装时无法选择)。然后我分别安装了rails,sqlite3。 我做的另一个重要变化是GemFile.lock。我认为这样做了。我保留了以下两行

bcrypt-ruby (3.0.0)
bcrypt-ruby (3.0.0-x86-mingw32)

答案 3 :(得分:0)

我相信这个确切的问题在另一个问题中得到了解决。实际上产生了两个错误消息,这是更高级别的错误消息,通过搜索较低级别,我找到了以下答案。

can't activate bcrypt-ruby (~> 3.0.0), already activated bcrypt-ruby-3.1.1. Make sure all dependencies are added to Gemfile

答案 4 :(得分:0)

在gem文件中添加以下内容

gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'

并运行bundle install并重新启动服务器

答案 5 :(得分:0)

就我而言,问题是bcrypt版本3.1.2已过时。幸运的是,Ruby可以从命令行直接安装特定gem的最新版本。在这种情况下,我输入

捆绑原始bcrypt

但是更普遍的是你可以做

捆绑原始gem name

如果您认为您可能会遇到其他宝石方面的类似问题