无法弄清楚如何让 'bcrypt' 在 rails (WIN 10) 上的 ruby 中工作

Can't figure out how to get 'bcrypt' working in ruby on rails (WIN 10)

我几乎要放弃了,在尝试了无数的解决方案之后,直到现在都没有任何效果。 我在 运行ning Ruby 2.3.3 和 rails 4.2.8 windows 10 64 位 我已经使用 Rails 安装程序安装了 Ruby 、 Rails 和 DevKit。 我安装了 bcrypt v 3.1.7(以避免兼容性问题)

gem list bcrypt

* LOCAL GEMS *

bcrypt (3.1.7 x86-mingw32)

我 运行 耙 db:migrate (我有一些种子)并得到这个 -

我已经尝试了很多解决方案。最流行的是以这种方式卸载 bcrypt 和安装 bcrypt - "gem install bcrypt --platform=ruby" 但是当我尝试这样做时,出现了这个错误 -

我也尝试导航到安装 gem 的文件夹和 运行ning -

ruby extconf.rb

但这给了我一堆错误,基本上是说“你需要先安装开发工具” 但是 RailsInstaller 已经安装了 Devkit。即使在我导航到 Devkit 文件夹并按照命令 运行 之后,我也会收到错误 -

所以我将 Ruby 根目录添加到 config.yml - C:\RailsInstaller\Ruby2.3.3 并得到以下错误 -

这让我相信 DevKit 工具已经安装了,但是当我 运行 ruby extconf.rb

我只想在我的机器上安装 bcrypt 运行ning,有什么办法吗?

尝试修复您的 gemfile。您在 64 位操作系统中工作,但您在 gemfile 中指定了 32 位版本的 bcrypt:

bcrypt (3.1.7 x86-mingw32)

这种表示法会导致一系列问题,因为 bcrypt 还想安装 32 位依赖项 (psych)。

在您的 gemfile 中指定 64 位版本的 bcrypt,看看会发生什么:

bcrypt (3.1.7-x64-mingw32)

然后运行:

bundle install

从那以后你应该保持良好的状态。我不确定,因为我现在懒得启动到 Windows,但我认为你可以完全不指定 bcrypt 的版本,让 bundler 自己解决它基于您的平台。