簡體   English   中英

elasticsearch 的 brew 安裝失敗

[英]brew installation of elasticsearch failing

一直在嘗試使用 brew 安裝 ElasticSearch,但是,我所有的嘗試都失敗並出現錯誤

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

被我回擊了。 有人越過這個嗎? brew install --debug output 是:

➜  ~ 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>'

謝謝!

最終是因為 xcode 已經過時了。 更新 xcode 修復了該問題。

彈性網站上使用 Homebrew 在 macOS 上安裝 Elasticsearch的說明建議使用不同的公式,即:

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 版本,然后我手動安裝了 logstash-7.6.2 的 tarfile,確保這樣做在運行logstash程序之前export JAVA_HOME=/usr/local/opt/openjdk@11 我假設同樣的方法適用於 elasticsearch,盡管上面的官方公式可能更簡單。

以下是在 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... 從bayandin/patch-1 合並拉取請求#7300

更正! “穩定”分支最近移至2.2.13 提交歷史仍然包含問題 commit: 2ae2680 (tag: 2.2.12) Merge pull request #7301 from Bo98/cmake-sdkroot

而是簽出 commit-before-the-tag 。

/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
  1. 當您准備好撤消步驟 #3 中的更改時,運行brew update將檢查stable分支(無論 state 是什么)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM