Заваривать установку эластичного поиска не удалось - PullRequest
0 голосов
/ 09 апреля 2020

Я пытался установить ElasticSearch, используя brew, однако все мои попытки терпят неудачу, и мне возвращается ошибка

    Error: An exception occurred within a child process:
  NoMethodError: undefined method `path' for nil:NilClass
Did you mean?  paths

. кто-нибудь когда-нибудь пересекал это? brew install - вывод отладки:

➜  ~ brew install --debug elasticsearch
Updating Homebrew...
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/elasticsearch.rb
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/java -version
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/java -version
/usr/local/Homebrew/Library/Homebrew/build.rb (Formulary::FromPathLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/elasticsearch.rb
Error: An exception occurred within a child process:
  NoMethodError: undefined method `path' for nil:NilClass
Did you mean?  paths
/usr/local/Homebrew/Library/Homebrew/extend/os/mac/extend/ENV/super.rb:112:in `setup_build_environment'
/usr/local/Homebrew/Library/Homebrew/build.rb:88:in `install'
/usr/local/Homebrew/Library/Homebrew/build.rb:196:in `<main>'

спасибо!

Ответы [ 3 ]

1 голос
/ 10 апреля 2020

Инструкции для Установка Elasticsearch на macOS с Homebrew на веб-сайте elasti c предлагает использовать другую формулу, а именно:

brew tap elastic/tap

затем

brew install elastic/tap/elasticsearch-full

или

brew install elastic/tap/elasticsearch-oss

в зависимости от того, хотите ли вы версию с несвободной (но все же $ 0,00) или версией OSS.

На самом деле я сам не пробовал эту формулу, но я просто имел успех на macOS Catalina с brew install openjdk@11 для получения требуемой версии Java, затем я вручную установил tar-файл logsta sh -7.6.2, убедившись, что перед запуском программы logsta sh выполнил export JAVA_HOME=/usr/local/opt/openjdk@11 ; Я предполагаю, что тот же самый подход будет работать сasticsearch, хотя официальная формула выше, вероятно, проще.

0 голосов
/ 15 апреля 2020

В конце концов это произошло из-за того, что xcode устарел. Обновление xcode решило проблему.

0 голосов
/ 12 апреля 2020

Ниже приведен временный обходной путь до исправления Homebrew.

  1. Отключите автообновление Homebrew , добавив префикс ваших команд brew, например: HOMEBREW_NO_AUTO_UPDATE=1 brew install elasticsearch или установка переменной окружения в вашем Bash .profile как export HOMEBREW_NO_AUTO_UPDATE=1. (Я использую последнее.)
  2. Если Homebrew установлен в качестве GIT хранилища в / usr / local / Homebrew, go в этот каталог для просмотра журнала GIT. Вы должны увидеть недавнее слияние с веткой stable, в котором появился новый код super.rb:

    2ae2680 (tag: 2.2.12, stable) Merge pull request #7301 from Bo98/cmake-sdkroot

  3. Вы хотите оформить предыдущий совершить в вашем / usr / local / Homebrew git репо. Это помогло мне:

    / usr / local / Homebrew> git Оформить заказ стабильно ^ HEAD теперь в 6e3a293 ... Слить запрос на извлечение # 7300 от bayandin / patch-1

ИСПРАВЛЕНИЕ! «Стабильная» ветка недавно переместилась на 2.2.13. История коммитов по-прежнему содержит проблему фиксации: 2ae2680 (tag: 2.2.12) Merge pull request #7301 from Bo98/cmake-sdkroot.

Вместо этого извлеките коммит перед тэгом.

/usr/local/Homebrew> git checkout -q 2.2.12^
/usr/local/Homebrew> git branch -vv --no-color
* (HEAD detached at 6e3a293) 6e3a293 Merge pull request #7300 from bayandin/patch-1
   master c9ffde6 [origin/master] Merge pull request #7351 from Bo98/branch-encode
   stable 3d9cf83 Merge pull request #7346 from Bo98/pr-pull
Когда вы будете готовы отменить изменения на шаге # 3, при запуске brew update будет извлечена ветвь stable (в любом состоянии, которое будет).
...