ruby-on-rails - 加载错误 : cannot load such file -- bcrypt_ext on Windows 2008 x64 server

标签 ruby-on-rails windows rubygems

我将我的环境从 Ruby 2.0.0 升级到 2.2.3。

我还升级(覆盖)了 DevKit,并重新运行 ruby​​ dk.rb install。

我删除了 Gemfile.lock 并运行 bundle install 以从一个全新的环境开始。一切看起来都很好,但我收到错误:

E:\Projects\development\Stairs>rake db:migrate 
rake aborted!
LoadError: cannot load such file -- bcrypt_ext
E:/Projects/development/Stairs/config/application.rb:7:in `<top (required)>'
E:/Projects/development/Stairs/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- 2.2/bcrypt_ext
E:/Projects/development/Stairs/config/application.rb:7:in `<top (required)>'
E:/Projects/development/Stairs/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

我首先遇到了与 Nokogiri 相同的问题,我使用以下解决方案解决了这个问题:Nokogiri load error 使用 Juloi Elixir 的解决方案并从本地副本安装 Nokogiri。

但我不想为每个 gem 都这样做!看起来 ruby​​ 正在使用 ./或 ./2.2 路径搜索 gem,而 gems 存储在 ./2.2.0 路径中。这是可配置的吗? 我该如何解决这个问题?

Note: Gemfile contains gem 'bcrypt', '~> 3.1.10'

谢谢!

最佳答案

我花了整整一个小时来解决这个问题,就在现在。

嗯,我所做的是听从网上的一些建议,做了一个

gem install bcrypt --platform=ruby

然后,它在 irb 中工作。

irb(main):001:0> require 'bcrypt'
=> true

后来当我不得不进行捆绑安装时,出于某种奇怪的原因,rails 安装了另一个 bcrypt,但错误又回来了。所以我的 gem 根目录中有两个文件夹。

bcrypt-3.1.10
bcrypt-3.1.10-x64-mingw32

因此,由于第一个文件夹是使用 devkit 构建的文件夹,因此它可以正常工作。我删除了第二个文件夹的内容并将第一个文件夹的内容复制到其中。

在我写这篇文章的时候似乎在工作。

关于ruby-on-rails - 加载错误 : cannot load such file -- bcrypt_ext on Windows 2008 x64 server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33588735/

相关文章:

jquery - 使用输入元素上的修饰键触发单击事件

c - 枚举桌面上的所有窗口句柄

linux - 从 *unix 分发到 Windows 时保留文件权限

git - 为什么 bundler 没有正确安装存储在 get repo 中的 gem?

ruby-on-rails - 不知道如何构建任务 'rails'

ruby-on-rails - 离线安装适用于 Aptana Studio 的 Radrails 插件

ruby-on-rails - Postgres JSON 列使用表单更新单个键/属性

ruby-on-rails - 无法加载 Rails 服务器甚至无法在任何来源中找到 pg-0.17.1

javascript - ActionView::MissingTemplate::缺少模板 - 部分 Java 脚本

windows - 我可以通过任务管理器处理我的 Windows 进程的终止吗?