我在rails 3上使用devise(当前gem)中的数据库身份验证,尝试使用用户名/密码登录时出现以下错误。
no such file to load -- bcrypt_ext
This error occurred while loading the following files:
bcrypt
bcrypt_ext
我之前已经“成功安装了bcrypt-ruby-2.1.2”gem。
有什么想法吗?我也试过给Bundler git repo地址并获取master,但它没有解决问题。
答案 0 :(得分:11)
我也有这个问题。当我安装宝石时,输出告诉我
Building native extensions. This could take a while...
Successfully installed bcrypt-ruby-3.0.1
所以我认为它实际上构建了原生扩展。但是当我去狩猎... / gems / bcrypt-ruby-2.1.4 / ext / mri时,我发现它似乎没有建造任何东西。
我手动进入并运行
cd [path to your gems folder]/gems/bcrypt-ruby-2.1.4/ext/mri
ruby extconf.rb
make
sudo make install
这对我有用。
答案 1 :(得分:8)
答案 2 :(得分:3)
我遇到了同样的问题。
添加gemfile:
gem "bcrypt-ruby", '~> 3.0.0'
尝试捆绑安装,然后捆绑更新bcrypt-ruby
答案 3 :(得分:0)
我有同样的问题,我只是删除了供应商目录并进行了捆绑安装。
修正了问题。也许这是一个不会覆盖的制作中的问题。
答案 4 :(得分:0)
查看您的Gemfile。看看你是否有“bcrpyt-ruby”宝石。如果它不存在则添加“bcrpyt-ruby”gem。
gem "bcrypt-ruby", :require => "bcrypt"
答案 5 :(得分:0)
我也有同样的问题,这解决了它 -
gem 'bcrypt', '~> 3.1.9'