Посмотрите сообщение об ошибке, чтобы найти подсказки:
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details.
и:
You have to install development tools first.
и:
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/alarm/.gem/ruby/2.4.0/extensions/armv7l-linux/2.4.0/nokogiri-1.8.0/mkmf.log
Похоже, вам не хватает некоторых заголовочных файлов (, то есть «инструментов разработки» ), которые обычно поставляются в комплекте с библиотеками в Arch Linux. Как упоминалось в сообщении об ошибке, вы можете посмотреть файл /home/alarm/.gem/ruby/2.4.0/extensions/armv7l-linux/2.4.0/nokogiri-1.8.0/mkmf.log
, в котором указано, какие заголовочные файлы ищет процесс сборки, что должно привести вас к пакету библиотеки, который необходимо установить.
При печати непосредственно на терминал Python по умолчанию выполняет буферизацию строк, чтобы вы могли видеть, что происходит. Но при отправке вывода в канал/файл Python полностью его буферизует. Это обычное поведение для многих команд Linux. Чтобы обойти это, используйтеpython -u
для явной разбуферизации вывода.