LoadError: невозможно загрузить такой файл - bcrypt_ext на сервере Windows 2008 x64
Я обновил свою среду с Ruby 2.0.0 до 2.2.3.
Я также обновил (перезаписать) DevKit и перезапустил ruby dk.rb install.
Я удалил Gemfile.lock и выполнил установку пакета, чтобы начать с совершенно новой среды. Все выглядит нормально, но я получаю сообщение об ошибке:
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
используя решение Juloi Elixir и установив Nokogiri из локальной копии.
Но я не чувствую, что делаю этот драгоценный камень foreach! Похоже, рубин ищет камень, используя путь./или./2.2, в то время как драгоценные камни хранятся в пути. /2.2.0. Это настраивается?
Как я могу решить эту проблему?
Note: Gemfile contains gem 'bcrypt', '~> 3.1.10'
Спасибо!
Ответы
Ответ 1
Решение было здесь: bcrypt-ruby @github:
Восстановите локально жемчужину bcrypt:
- Перейдите в каталог gem\Ruby22-x64\lib\ruby \ gems\2.2.0\gems\bcrypt-3.1.10-x64-mingw32\ext\mri >
- Запустить ruby extconf.rb
- Запустить make
- Запустить make install
Обратите внимание, что это работает, только если ваша среда DevKit настроена правильно (запустите devkitvars.bat).
Ответ 2
Я потратил целый час на это, только сейчас.
Хорошо, что я сделал, я последовал за некоторыми советами в Интернете, чтобы сделать
gem install bcrypt --platform=ruby
И затем он работал в irb.
irb(main):001:0> require 'bcrypt'
=> true
Позже, когда мне нужно было установить пакет, по какой-то нечетной причине рельсы установили другой bcrypt, и ошибка вернулась. Таким образом, у меня было две папки в моем корневом камне.
bcrypt-3.1.10
bcrypt-3.1.10-x64-mingw32
Итак, поскольку первая папка была создана с помощью devkit, и она работает. Я удалил содержимое второй папки и скопировал содержимое первого в нее.
Кажется, я работаю, когда пишу это.
Ответ 3
@user1185081 решение работало для меня на машине с Windows. Я выполнил следующие команды и работал как магия:
$ cd C:\RailsInstaller\Ruby2.2.0\lib\ruby\gems\2.2.0\gems\bcrypt-3.1.10-x86-mingw32\ext\mri
$ ruby extconf.rb
$ C:\<DevKit Path>\devkitvars.bat (assuming you have devkit installed)(Ran this instead of running "make" because it was not recognized as an internal or external command)
$ make install
Ответ 4
Что работало для меня в Windows 7:
-
gem uninstall bcrypt
, чтобы удалить все версии bcrypt, включая те, которые указаны как зависимости
-
gem install bcrypt
для переустановки
-
bundle install
Ответ 5
Вот решение для меня:
C:\> gem uninstall brcypt
C:\> gem install --no-ri --no-rdoc bcrypt
C:\> cd (path to gems root)\bcrypt-3.1.7-x86-mingw32\ext\mri
C:\(path to gems root)\bcrypt-3.1.7-x86-mingw32\ext\mri> ruby extconf.rb
C:\(path to gems root)\bcrypt-3.1.7-x86-mingw32\ext\mri> make
C:\(path to gems root)\bcrypt-3.1.7-x86-mingw32\ext\mri> make install
Ответ 6
В моем случае указание старой версии bcrypt в Gemfile
было причиной ошибки. Я удалил обозначение версии и запустил bundle update bcrypt
, затем он был установлен.
Ответ 7
Проблема, по-видимому, решена в bcrypt 3.1.11
. Следующая процедура работала для меня в Windows 10:
$ bundle update bcrypt
...
проверка версии:
$ bundle install | grep bcrypt
Using bcrypt 3.1.11
После этого миграция прошла успешно:
$ bundle exec rake db:migrate RAILS_ENV=development
== 20160211102316 AddAdminUserIfEmptyTable: migrating =========================
== 20160211102316 AddAdminUserIfEmptyTable: migrated (0.1244s) ================
== 20160212135435 CreatePersistentHashes: migrating ===========================
-- create_table(:persistent_hashes)
-> 0.0013s
== 20160212135435 CreatePersistentHashes: migrated (0.0059s) ==================
Проблема решена.
Ответ 8
Этот процесс предназначен для окон:
Проблема с программами, установленными в системе.
Удалите все программы рельсов:
-
Все программы Ruby.
-
RailsInstaller.
Удаляет все файлы, которые были удалены, вы должны сделать это вручную внутри:
C:\RailsInstaller
- Установить версию ruby версии 2.2:
http://railsinstaller.org/en
Подождите, и он уже пойдет.
MarlonJon.es
Ответ 9
Это работает для меня, добавьте это в свой файл gems:
gem 'bcrypt', '~> 3.1.7', platform: :ruby
Ответ 10
У меня была та же проблема:
не может загрузить такой файл - bcrypt_ext
Windows 8.1 64bit
ruby 2.3.3p222 (версия 2016-11-21 56859) [i386-mingw32]
Rails 5.1.4
Мое решение:
- gem удалить bcrypt-ruby
- gem удалить bcrypt
- gem install bcrypt -platform = ruby
- добавлена вся эта строка в Gemfile:
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git',: require = > 'bcrypt'
- установить пакет