我将我的环境从 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/