【问题标题】:Issues using bcrypt 3.0.1 with ruby2.0 on Windows在 Windows 上使用带有 ruby​​2.0 的 bcrypt 3.0.1 的问题
【发布时间】:2013-09-03 15:57:04
【问题描述】:

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

但我在运行 rails server 后收到此错误。 无法加载此类文件 -- 2.0/bcrypt_ext "您的应用程序中没有安装 bcrypt-ruby。请将其添加到您的 gemfile 并运行 bundle install"

我正在使用: 操作系统:Windows 8 导轨 4.0.0 红宝石 2.0.0 bcrypt-ruby 3.0.1

我的 gemsfile 已将 bcrypt 定义为这个。 gem '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 中。”

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

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 rubygems bcrypt


    【解决方案1】:

    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'
    

    【讨论】:

    • 安装很简单。踢球者,真正正确的是将活动模型更改为寻找~> 3.1.0。谢谢!
    • 好东西。在其他环境中,在您的 ruby​​ 文件夹中搜索 secure_password.rb 并更改所有环境中的行。在 Ubuntu 上,我有 2 个,其中一个的版本为 '~> 3.1.0',但另一个版本为 '~> 3.0.0'
    • 我需要运行 bundle update 才能使更改生效。
    • 我遇到了问题,因为 bcrypt 也没有被加载。也值得删除 gemfile.lock,并通过在 irb 中加载 bcrypt-ruby 和 bcrypt gems 来玩玩。这绝对为我指明了正确的方向,谢谢!
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 我在教程中也遇到了这个问题。您是否还需要像上一个答案一样更改活动记录的 gem 要求?
    • 我也面临同样的问题...你部署在 heorku 上了吗?它似乎不起作用,所以我不确定你是否有机会让它起作用......我现在正在与他们进行电子邮件交流,但没有任何帮助。
    • @ex-man 我假设您已经通过了这个,但是由于我正在将示例应用程序的版本升级到 4.0.3,我想我可能会再次遇到这个问题,所以我偶然发现你的评论。这是我设法解决这个问题的方法stackoverflow.com/questions/20914872/…
    • @nPn 太好了!这似乎比我手动分发到heroku form linux并在windows下开发的解决方法要好得多......干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2011-06-22
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多