После обновления до macOS обновление Gem Mojave не удается - PullRequest
0 голосов
/ 26 сентября 2018

Создание собственных расширений.Это может занять некоторое время ... ОШИБКА: Ошибка установки libxml-ruby: ОШИБКА: не удалось создать собственное расширение gem.

current directory: /Library/Ruby/Gems/2.3.0/gems/libxml-ruby-3.1.0/ext/libxml

/ System / Library / Frameworks / Ruby.framework / Versions / 2.3 / usr/ bin / ruby ​​-r ./siteconf20180926-80978-eoqfjh.rb extconf.rb проверка на наличие libxml / xmlversion.h в / opt / include / libxml2, / opt / local / include / libxml2, / usr / local / include / libxml2, / usr / include / libxml2 ... no * extconf.rb не удалось * Не удалось создать Makefile по какой-то причине, возможно, из-за отсутствия необходимых библиотек и / или заголовков.Проверьте файл mkmf.log для более подробной информации.Вам могут потребоваться параметры конфигурации.

Предоставленные параметры конфигурации: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =.--curdir --ruby = / Система / Библиотека / Каркасы / Ruby.framework / Версии / 2.3 / usr / bin / $ (RUBY_BASE_NAME) --with-xml2-config --without-xml2-config --with-xml2-dir --without-xml2-dir --with-xml2-include --without-xml2-include = $ {xml2-dir} / include --with-xml2-lib --without-xml2-lib = $ {xml2-dir} / lib extconf error: нужно libxml2.

Install the library or try one of the following options to extconf.rb:

  --with-xml2-config=/path/to/xml2-config
  --with-xml2-dir=/path/to/libxml2
  --with-xml2-lib=/path/to/libxml2/lib
  --with-xml2-include=/path/to/libxml2/include

Чтобы понять, почему это расширение не удалось скомпилировать, просмотрите mkmf.log, который можно найти здесь:

/ Library / Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/libxml-ruby-3.1.0/mkmf.log

Сбой extconf, код выхода 1

Gem-файлыостанется установленным в /Library/Ruby/Gems/2.3.0/gems/libxml-ruby-3.1.0 для проверки.Результаты заносятся в /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/libxml-ruby-3.1.0/gem_make.out Обновление нокогири Сборка собственных расширений.Это может занять некоторое время ... ОШИБКА: при выполнении gem ... (Gem :: FilePermissionError) У вас нет прав записи в каталог / usr / bin.

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Если вы используете homebrew, рекомендуется указать pkg-config, где можно найти библиотеку libxml2:

brew reinstall libxml2
export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig"
0 голосов
/ 04 декабря 2018

Кроме того, у вас может быть устаревшая конфигурация пакета, которая находится в пути.Запустите bundle config build.nokogiri --use-system-libraries, и он выдаст вам предупреждение и покажет, какой у вас в данный момент конфиг.Я следовал всем инструкциям и переустанавливал все гемы и даже ruby ​​несколько раз, только чтобы узнать, что в конфигурации был задан путь, который больше не существует.

0 голосов
/ 03 октября 2018

Ошибка связана с тем, что macOS Mojave прекратил помещать стандартные заголовочные файлы в /usr/include, сохраняя их только внутри каталога XCode.

Это можно проверить, запустив ls /usr/include и, скорее всего, этот каталог.больше не существуетНапротив, обычный трюк с запуском xcode-select --install не решит проблему.

Исправление заключается в запуске устаревшего установщика, предоставленного Apple, который установит заголовочные файлы в /usr/include

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...