Я пытаюсь установить гем libxml-ruby
, который создает собственные расширения. Я установил PKG_CONFIG_PATH
в правильное место для libxml2, и get pkg-config
может его увидеть:
$ pkg-config --list-all | grep -i xml
libxml-2.0 libXML - libXML library version2.
К сожалению, процесс создания драгоценных камней не позволяет:
$ gem install libxml-ruby
...
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no
*** extconf.rb failed ***
...
extconf failure: need libxml2.
Однако список путей не содержит ожидаемого местоположения:
$ pkg-config --cflags libxml-2.0
-I/usr/local/Cellar/libxml2/2.9.8/include/libxml2
Почему здесь игнорируются настройки pkg-config
/ как сделать так, чтобы сборка драгоценных камней уважала их?
rbenv
- person viraptor   schedule 17.12.2018xcode-select --install
? - person anothermh   schedule 17.12.2018pkg-config
печатает правильный/существующий путь включения. - person viraptor   schedule 17.12.2018pkg-config --cflags libxml-2.0
возвращает только-I/usr/include/libxml2
для меня, и, судя по связанной проблеме, это предоставленоxcode-select --install
. Возможно, стоит перезапустить его, чтобы посмотреть, изменится ли что-нибудь, а также попробоватьbrew install libxml-2.0.pc
(илиuninstall
, а затемinstall
, если он у вас уже есть). - person anothermh   schedule 17.12.2018PKG_CONFIG_PATH
? У меня нет этого набора, и я могу нормально установить драгоценный камень. (macOS 10.14,libxml-2.0.pc
не установлена) - person anothermh   schedule 17.12.2018/usr/include/libxml2
, которого не существует. Это не то, чего я хочу добиться - я хочу использовать конкретную установку, на которую я указываю pkg-config. - person viraptor   schedule 17.12.2018PKG_CONFIG_PATH
и как вы его устанавливаете? Вы уверены, чтоgem install
имеет его в окружающей среде?/usr/include/libxml2
должен существовать и иметь файлы, если у вас правильно установлены инструменты Xcode (по крайней мере, в macOS 10.13 или 10.14), и тот факт, что это не указывает мне, что здесь есть другие проблемы. Я понимаю, что вы хотите использовать версию brew, но я рекомендую сначала заставить ее работать в обычном режиме, а затем посмотреть, как скомпилировать версию brew. - person anothermh   schedule 17.12.2018