簡體   English   中英

無法在 macos 上安裝 sdkman

[英]Unable to install sdkman on macos

我無法在我的 macos 上安裝 sdkman。 我提到了sdkman installCan't install sdkman on Mac OS 盡管如此,我還是錯過了一些東西。 有人可以幫幫我嗎 ? 我是 MacOS 和 sdkman 的新手。

當我去 bash 終端並輸入curl -s "https://get.sdkman.io" | bash curl -s "https://get.sdkman.io" | bash ,它打印消息無法在終端上寫入正文並打開我的 bash 配置文件。 我接下來應該做什么? 我嘗試按照上述網址中提到的步驟進行操作,甚至按照建議使用了source ,但我想缺少某些內容。 我實際上從來沒有在 bash 配置文件中寫過任何東西,所以source甚至不會做任何事情。 我使用我在網上找到的內容進行了多次嘗試,但sdk version從未給出任何輸出,它一直說sdk command not found 我在網上發現我需要升級 curl,我什至這樣做了仍然沒有成功。 有人可以為我寫/解釋我失蹤的步驟嗎? 我會很感激。 我確實在網上搜索過,但步驟不清楚或我沒有得到正確的東西。 謝謝。

看起來更有可能管道 bash 在前一個 curl 完成寫入整個頁面之前關閉讀取管道。 當你發出curl -s "https://get.sdkman.io" | bash curl -s "https://get.sdkman.io" | bash ,一旦管道 bash 有了它想要的東西,它就會立即關閉上一個 curl 的輸入流。 但是 cURL 並沒有真正預料到這一點,並拋出了“寫入正文失敗”的錯誤。 您可能想嘗試通過一個中間程序來傳輸流,該程序在提供給 bash 之前總是讀取整個頁面。 例如,您可以嘗試這樣的操作(在管道到 bash 之前運行 tac 兩次):

curl -s "https://get.sdkman.io" | tac | tac | bash

tac 是一個 Unix 程序,可以反向連接和打印文件。 在這種情況下,它讀取整個輸入頁面並反轉行順序(因此我們運行它兩次)。 因為它必須讀取整個輸入才能找到最后一行,所以在 cURL 完成之前它不會向 bash 輸出任何內容。 當 bash 得到它需要的東西時,它仍然會關閉讀取流,但它只會影響 tac,它不會拋出錯誤。

暫無
暫無

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

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