我正在使用 macOS。大多數時候,我可以通過 Homebrew 成功安裝組件。但有時由于一些網路問題,它不是那么穩定。另外,我發現一些組件是作為預編譯檔案提供的,例如
uj5u.com熱心網友回復:
Homebrew 通常將必要的可執行檔案鏈接到/usr/local/bin
目錄,該目錄應該在您的$PATH
. 因此,當您執行類似的命令時sdcc
,您的 shell 將在$PATH
目錄中尋找,當它查看時/usr/local/bin
,它會找到sdcc
,然后點擊鏈接并執行它。
某些包不執行此鏈接,這意味著您無法在不知道它們在哪里的情況下執行它們。您可以讓 Homebrew 告訴您軟體包的安裝位置:brew --prefix <formula>
,<formula>
軟體包名稱在哪里(例如brew --prefix sdcc
)。可執行檔案通常位于bin
子目錄下。例如,brew --prefix sdcc
可能會告訴您類似/usr/local/opt/sdcc
; 然后你可以呼叫sdcc
using /usr/local/opt/sdcc/bin/sdcc
,而不必在cd
那里。你也可以直接/usr/local/opt/sdcc/bin
放進你的$PATH
,雖然我不推薦。另一種選擇是創建你自己的bin
(我的在$HOME/.local/bin
),把它放進去$PATH
,然后鏈接到那里(ln -s <source> $HOME/.local/bin/
)你希望你的 shell 容易找到的任何可執行檔案。
但是,對于 Homebrew 軟體包,我強烈建議您不要嘗試通過在 Homebrew 的域中安裝東西來自己模仿 Homebrew。您可能會混淆 Homebrew 并產生問題。相反,讓 Homebrew 來做吧。
如果您需要在與您下載的作業系統不同的作業系統上安裝軟體包,您可能需要首先找出目標(安裝)計算機的瓶標簽。例如,對于 Big Sur,它是
big_sur
. 看brew info --json <formula>
,bottle.stable.files
你應該在下面找到瓶子標簽。在步驟 1 和 2 中使用--bottle-tag <tag>
以選擇正確的作業系統。用于
brew fetch --deps <formula>
下載(但不安裝)包,包括其依賴項。如果您使用該--verbose
標志,Homebrew 會告訴您它下載每個檔案的位置。如果您還沒有使用過
--verbose
并且仍然想知道下載的檔案在哪里:brew deps <formula>
將列出它所依賴的所有包。如果需要編譯包,您可能還需要使用該--include-build
選項。brew --cache <formula>
將顯示下載包檔案的位置。如果您需要將包檔案復制到另一臺計算機,您應該找出 Homebrew 期望找到它的位置:
brew --cache --force-bottle <formula>
在目標計算機上使用,然后將包檔案復制到那里。不要忘記對每個依賴包也這樣做。之后,
brew install <formula>
將從快取中安裝。
此程序中唯一需要 Internet 連接的部分是第一步,brew fetch
.
uj5u.com熱心網友回復:
對于 Unix(MacOS 是其家族成員)和類 Unix(例如 Linux)作業系統,控制此功能的是PATH
環境變數。
要知道哪些檔案夾允許您在不使用cd
它們的情況下運行程式或為程式名稱添加前綴./
,您可以列印出以下值PATH
:
echo $PATH
在我的機器上列印出來:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/slebetman/bin:/opt/homebrew/bin
有兩點需要注意:
該字串是一個檔案夾路徑串列,由
:
有一條路徑列為
/opt/homebrew
。大概這是 homebrew 安裝命令列程式的地方。
將您的程式/腳本復制到其中列出的任何檔案夾中,PATH
您可以像使用任何已安裝/內置命令一樣使用它。這就是在 Unix 上安裝命令列程式的意思。就是這么簡單。
還有一點需要注意:我PATH
的檔案夾中有/Users/slebetman/bin
. 這是我自己的個人標準 - 可能不是我發明的,而是我在大學時代采用的標準 - 用于安裝我自己的程式。~/bin
我所有的 Unix 和 Linux 機器上都有這個檔案夾。這是我保存我一生中撰寫或收集的個人腳本集合的地方。
擁有一個個人~/bin
檔案夾很好,因為您不需要 sudo 權限來寫入它。此外,如果您購買了新的 PC/Mac,您只需將檔案夾復制到您的新機器上,您已經習慣的所有腳本現在都存在于新機器上。更好的是,您可以使用 github/gitlab/bitbucket 管理檔案夾git
并將其與 github/gitlab/bitbucket 同步,以便輕松更新所有計算機。
由于PATH
是標準環境變數,您可以輕松修改它以添加您自己的檔案夾。.profile
只需在您的or .zshrc
or檔案中添加以下內容.bashrc
(取決于您的 shell),即可將您自己的bin
檔案夾添加到PATH
:
export PATH=$PATH:$HOME/bin
上面的命令只是說添加$HOME/bin
并PATH
匯出它,以便其他程式將繼承新PATH
變數。
在您的情況下,您甚至可以執行以下操作:
export PATH=$PATH:/path/to/your/sdcc/bin
讓所有 SDCC 命令像常規命令一樣作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/496698.html
上一篇:片段中的TextWatcher
下一篇:cp:將phpMyAdmin檔案夾復制到/Library/WebServer/Documents/時沒有這樣的檔案或目錄