當我嘗試通過自制軟體安裝 Hive 時,它??會拋出以下錯誤:
homebrew install hive
Error: openjdk@8: no bottle available!
有沒有人解決過這個問題?我在谷歌做了一些研究,有人說“這是因為 M1 芯片需要它自己的特殊版本的 OpenJDK”。
uj5u.com熱心網友回復:
最后,我找到了解決方案。首先,我們需要在 /usr/local 下使用 Rosetta 安裝 Homebrew,然后我們可以嘗試以相同的方式安裝所有內容。
uj5u.com熱心網友回復:
蘋果硅膠 M1 和類似處理器具有ARMv8.4架構,并rosetta2在 arm64 處理器上推出原生 amd64 二進制檔案。因此,apple Silicon 幾乎可以啟動為 Intel 平臺編譯的任何應用程式(有一些例外,例如,舊版本的 PostgreSQL 不會由 Rosetta2 啟動)。
默認情況下,homebrew檢測安裝的平臺并嘗試找到適合 arm64 的瓶子。在某些情況下,某些應用程式沒有瓶子(例如,openjdk@8由于沒有瓶子,您無法安裝在 arm64 上)。但是您可以安裝例如 oracle JDK,因為有 arm64 的瓶子(但它會安裝 amd64 二進制檔案)。這是一個相當混亂的情況,不是嗎?
決定是將 homebrew 的第二個副本安裝到/usr/local/homebrew目錄中,并使用命令以兼容模式啟動它arch -x86_64。您不會homebrew使用此命令啟動原始檔案,因為它會混合 arm64 和 amd64 二進制檔案(如果您需要為兩個平臺使用相同的庫,您將做什么?以 libpq 為例)。
所以有一步一步的指南:
- 下載自制軟體
curl -L https://github.com/Homebrew/brew/tarball/master --output homebrew.tar - 將壓縮包解壓到
/usr/local/homebrew - chown -R 允許從此檔案夾啟動應用程式
- 為您的 ~/.zshrc 檔案添加別名
# If you come from bash you might have to change your $PATH. # need this for x86_64 brew export PATH=$HOME/bin:/usr/local/bin:$PATH # for intel x86_64 brew alias axbrew='arch -x86_64 /usr/local/homebrew/bin/brew'
- 現在啟動新控制臺并啟動安裝,例如
axbrew install openjdk@8
以相同的方式安裝您需要的其他英特爾二進制檔案。請記住,它將被安裝到/usr/local/homebrew/目錄中 - 如果您想使用其他東西,請隨意填寫以創建符號鏈接。輕微的缺點 - 該java_version工具不會在 中看到 OpenJDK /user/local directory,但 symlink to/Library/Java/JavaVirtualMachines/將解決這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409434.html
標籤:
上一篇:I/O完成埠C 和執行緒池
下一篇:C 11中的日期和時間表示類
