我是編程新手,對于 Mac 來說,我很難理解終端是如何$PATH
與 .zshrc 檔案相關的。
先說一點:我正在使用運行 M1 Pro 的 Macbook Pro 14,并且正在嘗試編程。我一直在經歷 Flutter 安裝和設定程序,在某些時候,我正在遵循的教程告訴我通過將路徑添加到我的 .zshrc 檔案來宣告我的 Flutter SDK 的路徑。所以我這樣做了,就像這樣:
export PATH=$HOME/dev/tooling/flutter/bin:$PATH
我保存了檔案并重新啟動終端并嘗試呼叫flutter doctor
它并且它有效 - 太棒了,我的手臂在空中快樂地揮舞著。注釋掉添加的路徑意味著flutter
當我在.../flutter/bin
目錄之外作業時,我不能再通過鍵入來在終端中呼叫它——這對我來說很有意義。
在教程后面的某個地方,我被指示安裝 Java,所以我這樣做了。我為在 ARM 架構上運行的 Mac 安裝 Azul 的 Zulu Java,然后我被告知在我的 .zshrc 檔案中宣告 Java 的路徑,如下所示:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-18.jdk/Contents/Home
我這樣做我打電話java
并嘗試打電話java -version
,他們都作業。
現在,問題從下一步開始
在下一步中,我被告知安裝 Android Studio,我這樣做了。然后我回到終端并運行flutter doctor
,它突出顯示了 Android 工具鏈作為一個問題,并擴展為cmdline-tools component is missing
. 我進行搜索并找到有關在Android Studio > System Settings > Android SDK > SDK Tools中勾選Android SDK Command-line Tools的建議解決方案,然后宣告兩個名為tools和platform-tools 的檔案夾。我按照指示做了,但最終,我最終用錯誤的語法宣告它,最重要的是,我意識到當我在 Android Studio 中勾選Android SDK 命令列工具時我沒有點擊應用。所以我的 .zshrc 檔案看起來像這樣:
export PATH=$HOME/dev/tooling/flutter/bin:$PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-18.jdk/Contents/Home
export PATH=$HOME/Library/Android/sdk/tools
export PATH=$HOME/Library/Android/sdk/platform-tools
在我保存 .zshrc 檔案并重新啟動終端后,沒有任何命令被識別。不是flutter
也不flutter doctor
是java
或java -version
;甚至vim ~/.zshrc
。我撓撓頭,重新打開 .zshrc 檔案并注釋掉最后兩行新添加的行,重新啟動終端,瞧,一切都好起來了。
為了增加混亂,然后我將 .zshrc 檔案編輯為如下所示(第二行代碼是故意用我現在知道的不正確語法撰寫的,以查看它會產生什么影響):
export PATH=$HOME/dev/tooling/flutter/bin:$PATH
export PATH=$HOME$PATH:$HOME/Library/Android/sdk/tools
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-18.jdk/Contents/Home
#export PATH=$HOME/Library/Android/sdk/tools
#export PATH=$HOME/Library/Android/sdk/platform-tools
并打電話flutter
并flutter doctor
不起作用;但是呼叫java
并java -version
執行(這使我相信我為 java 宣告路徑的行是毫無意義的)。但是當我重新編輯我的 .zshrc 檔案時,它看起來像這樣:
export PATH=$HOME/dev/tooling/flutter/bin:$PATH
#export PATH=$HOME$PATH:$HOME/Library/Android/sdk/tools
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-18.jdk/Contents/Home
export PATH=$HOME/Library/Android/sdk/tools
export PATH=$HOME/Library/Android/sdk/platform-tools
這些命令都不起作用 - 不是flutter
也不是flutter doctor
或java
等等。
這是怎么回事?我很困惑。我猜這與$PATH
活動代碼行中的定位有關,但我不太明白。
這是一個很長的閱讀,可能是一個非常愚蠢的問題,但如果我無法深入了解它,它會吞噬我,哈哈。提前致謝!
uj5u.com熱心網友回復:
當你做一個
export PATH=$HOME/Library/Android/sdk/tools
你破壞了舊的設定(即 $HOME/dev/tooling/flutter/bin:$PATH)。我會寫
path =(~/Library/Android/sdk/tools)
這會將新目錄附加到現有的 PATH 中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470506.html