Как фильтровать сообщения об ошибках в режиме реального времени

Посмотрите сообщение об ошибке, чтобы найти подсказки:

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, в котором указано, какие заголовочные файлы ищет процесс сборки, что должно привести вас к пакету библиотеки, который необходимо установить.

1
24.12.2019, 09:32
2 ответа

При печати непосредственно на терминал Python по умолчанию выполняет буферизацию строк, чтобы вы могли видеть, что происходит. Но при отправке вывода в канал/файл Python полностью его буферизует. Это обычное поведение для многих команд Linux. Чтобы обойти это, используйтеpython -uдля явной разбуферизации вывода.

0
27.01.2020, 23:55

Попробуйте:

python test.py 2>&1 | grep -v "Corrupt JPEG data"
0
27.01.2020, 23:55

Теги

Похожие вопросы