Как решить & ldquo; libxml2 отсутствующий пакет & rdquo; ошибка в & ldquo; gem install ovirt-engine-sdk & rdquo; на винде?

Глобальные переменные обычно являются плохими идеями, но вы можете сделать это, назначив __builtins__:

__builtins__.foo = 'something'
print foo

. Кроме того, сами модули - это переменные, к которым вы можете получить доступ из любого модуля. Поэтому, если вы определяете модуль с именем my_globals.py:

# my_globals.py
foo = 'something'

, вы можете использовать его и из любого места:

import my_globals
print my_globals.foo

Использование модулей, а не модификация __builtins__, как правило, более чистый способ делать такие глобальные типы.

0
задан Ouriel Boiria-Lesaffre 18 January 2019 в 17:10
поделиться

1 ответ

Я незнаком с ovirt-engine-sdk и не могу найти на их github никакой информации, чтобы подразумевать, что они поддерживают окна (это не гарантируется, особенно для гемов с нативными расширениями). Но мы можем определенно обойти эту конкретную ошибку. Чтобы показать вам, как справляться с подобными проблемами в будущем, вот мой процесс для устранения этой проблемы.

$ gem fetch ovirt-engine-sdk
$ gem unpack ovirt-engine-sdk-4.3.0.gem
$ cat ovirt-engine-sdk-4.3.0/ext/ovirtsdk4c/extconf.rb

Соответствующая часть здесь

xml2_config = find_executable('xml2-config')
if xml2_config
  # other stuff
elsif !pkg_config('libxml2')
  raise 'The "libxml2" package isn\'t available.'
end

Мы видим, что он проверяет исполняемый файл с именем xml2-config. Согласно документации для find_executable , он проверяет ваш путь для этого.

Итак, это означает, что нам нужно две вещи, чтобы исправить эту ошибку:

  1. Исполняемый файл xml2-config
  2. Нам нужно добавить это к нашему пути. Похоже, это тот шаг, который вам не хватает.

Вы можете скачать с здесь - Затем добавьте всю папку bin в свой путь.

0
ответ дан kennycoc 18 January 2019 в 17:10
поделиться
Другие вопросы по тегам:

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