Я пытаюсь установить devise в Rails 6.0.2.1 через bundle install
. На моем компьютере, который работает, в то время как когда я делаю это на Raspberry Pi 2 Model B, гем bcrypt
в версии 3.1.13
, от которой зависит устройство, пытается скомпилировать себя для x86, в то время как Raspberry Pi работает на руке, это означает, что сборка завершается неудачно со следующим сообщением об ошибке:
Fetching bcrypt 3.1.13
Installing bcrypt 3.1.13 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/lib/ruby/gems/2.7.0/gems/bcrypt-3.1.13/ext/mri
/usr/local/bin/ruby -I /usr/local/lib/ruby/2.7.0 -r ./siteconf20200202-4603-1rqfk3s.rb extconf.rb
creating Makefile
current directory: /usr/local/lib/ruby/gems/2.7.0/gems/bcrypt-3.1.13/ext/mri
make "DESTDIR=" clean
current directory: /usr/local/lib/ruby/gems/2.7.0/gems/bcrypt-3.1.13/ext/mri
make "DESTDIR="
compiling bcrypt_ext.c
compiling crypt_blowfish.c
// ===========================
// here's the interesting part
// ===========================
gcc -D__SKIP_GNU -D_FILE_OFFSET_BITS=64 -c -o x86.o x86.S
x86.S: Assembler messages:
x86.S:202: Error: junk at end of line, first unrecognized character is `,'
make: *** [<builtin>: x86.o] Error 1
make failed, exit code 2
Gem files will remain installed in /usr/local/lib/ruby/gems/2.7.0/gems/bcrypt-3.1.13 for
inspection.
Results logged to /usr/local/lib/ruby/gems/2.7.0/extensions/armv7l-linux-eabihf/2.7.0 static/bcrypt-3.1.13/gem_make.out
An error occurred while installing bcrypt (3.1.13), and Bundler cannot continue.
Make sure that `gem install bcrypt -v '3.1.13' --source 'https://rubygems.org/'` succeedsm before bundling.
In Gemfile:
devise-two-factor was resolved to 3.0.3, which depends on
devise was resolved to 4.6.2, which depends on
bcrypt
Когда я вручную устанавливаю версию 3.1.12, она работает. Это не работает только с 3.1.13. Есть ли способ построить его вручную для правильной архитектуры и заставить его использовать упаковщик, или каким-либо другим способом исправить это?