Homebrew 的實用指南

介紹流行的 Homebrew 套件管理器 Homebrew 是一個很好的套件管理器。原本是為 macOS 而開發的,現在也可以在 Linux 和 Windows Subsystem for Linux 上運行。 使用 Homebrew,你可以安裝幾乎任何你能想到的命令行應用程式,甚至是擁有完整圖形界面的應用程式。 如何安裝 Homebrew? 在 macOS 上,安裝 Homebrew 的指令如下: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 在 Linux/Windows 上,請參考官方網站的說明。 執行以上指令後,你就可以在終端機中使用 brew 命令了: 看到了嗎?我們有一個可以使用的子命令列表:brew install、brew upgrade、brew uninstall 等等。 安裝應用程式 使用 brew install 命令來安裝一個應用程式: brew install <包名> 例如,要安裝 mysql,執行以下命令: brew install mysql 這個命令有很多可用的選項,你可以查看它們: 你或許永遠不需要這些選項 - 我很少會使用除了預設的 brew install <package> 以外的其他選項。 有時候,某些套件(就像我在上面的示例中使用的 mysql 套件)會安裝成功,但在使用之前需要一些額外的步驟。 如果是這種情況,在安裝過程結束時,Homebrew 通常會提示給你。請確保你仔細閱讀 Homebrew 輸出到終端機的所有內容,以免日後出現問題。 套件安裝的位置在哪裡? 使用 Homebrew 安裝的套件都會被安裝到特定的資料夾中。...

修復 `psql: error: could not connect to server` 錯誤

我遇到了這個問題:以前我使用 Homebrew 安裝了 PostgreSQL,然後我無意間使用 brew upgrade 更新了它的版本,結果無法再次啟動。 之前它可以正常運作,但現在每次試圖連接時,都會出現以下錯誤: psql: error: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 我確認服務器正在運行,因為 ps aux | grep postgres 顯示了其進程。 我嘗試了多種解決方法,直到最後重新安裝才解決問題。 我運行了以下命令: brew uninstall postgresql brew install postgresql brew services start postgresql 然後我可以再次連接到數據庫了。

在 macOS 上安裝 MySQL

逐步指南,使用 Homebrew 在 macOS 上安裝 MySQL 在 macOS 上,您可以使用 Homebrew 輕鬆地安裝 MySQL。 執行以下命令: brew install mysql 上述命令需要一段時間,然後將列印出類似於以下的內容: 現在,您可以通過運行以下命令來啟動 MySQL 服務器: brew services start mysql 現在,我們需要保護 MySQL 服務器。默認情況下,該服務器不帶有 root 密碼,因此我們需要確保其受到保護。 執行以下命令: mysql_secure_installation 該過程可能需要一段時間,但可以確保您獲得最佳的預設值: 由於我們使用 brew services start mysql 來啟動 MySQL,所以在您的 Mac 重新啟動時會重新啟動它。您可以運行以下命令: brew services stop mysql 來阻止這種情況發生,同時也可以立即停止 MySQL。 您還可以運行以下命令,以避免此 守護模式(這是我們稱呼始終在背景運行並在計算機重新啟動時重新啟動的程序): mysql.server start 這將啟動 MySQL 並使其一直運行,直到計算機關機,或者直到您運行以下命令: mysql.server stop 並且在重新啟動時不會重新啟動它。 這取決於您自己決定哪一種方式更適合您。 現在,您可以使用以下命令連接到服務器: mysql -u root -p 在運行此命令之後,您需要輸入 root 用戶密碼,完成後,您應該在屏幕上看到這個畫面: 可以使用 TablePlus 這款優秀的 GUI(圖形化界面)軟件與 SQLite 數據庫進行交互。...

如何修復 macOS 中的 \"EMFILE: too many open files, watch\" 錯誤

一個解決混亂的 React Native 錯誤的快速指南 我在 MacBook Air 上啟動一個 React Native 項目時,運行以下命令: npx react-native start 我收到了一個包含以下內容的錯誤: Error: EMFILE: too many open files, watch 我嘗試了各種方法來解決這個問題,直到我發現建議使用 Homebrew 安裝 watchman 工具。 我運行了以下命令: brew install watchman 這解決了問題,因為 React Native 內部能夠使用 watchman 監視文件更改(用於提供熱重載,以在文件更改時刷新應用程序)。 watchman 看起來比內置的文件監視系統更有效,因為我消除了該錯誤。

如何修復 macOS 中的「您的 CLT 不支援 macOS 11」錯誤

最近在 macOS 上使用 Homebrew 安裝套件時,我遇到了這個錯誤,我的情況是安裝 rbenv 時出現了以下錯誤訊息: ➜ brew install rbenv ... Error: Your CLT does not support macOS 11. It is either outdated or was modified. Please update your CLT or delete it if no updates are available. Update them from Software Update in System Preferences or run: softwareupdate --all --install --force If that doesn't show you an update run: sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install Alternatively, manually download them from: https://developer....

如何修復Homebrew錯誤“Permission denied @ apply2files”

在運行brew upgrade node以升級我的macOS上的Node.js安裝之後,Homebrew決定自動運行brew cleanup。 它正在進行清理,一直Removing:/Users/.....,直到我遇到了錯誤: Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins 看到路徑中的“docker”嗎? 原來是最近刪除了Docker,這導致了錯誤。我解決問題的方法是重新創建了一個Docker應用的文件夾: mkdir -p /Applications/Docker.app/Contents/Resources/cli-plugins 然後運行 brew cleanup 問題得以解決。 你的問題可能是由於其他缺少的庫引起的,而不是Docker,所以在這種情況下,你可以搜索你遇到的具體錯誤消息,看看是否有其他人遇到了相同的問題並解決了它。但這是一個開始。

如何在 macOS 上安裝 PostgreSQL

安裝 PostgreSQL 資料庫管理系統的步驟指南 下面的指示是基於 macOS 安裝 PostgreSQL 的方式。 對於 Windows 和 Linux 使用者,請前往 https://www.postgresql.org/download/ 選擇適合的套件。 如果你使用其他平台,請搜尋「如何在 Windows 安裝 PostgreSQL」或「如何在 你的 Linux 發行版 安裝 PostgreSQL」。這些步驟不會有太大差異,尤其是在安裝階段之後。 在 macOS 上,我們會使用 Homebrew。如果你尚未安裝 Homebrew,請前往 https://brew.sh/ 並按照指示進行安裝。 完成後,返回終端機並執行以下命令: brew install postgresql 當安裝完成後,執行以下命令: brew services start postgresql 這將把 PostgreSQL 開啟作為背景服務聆聽連線。 使用 Homebrew 的好處是可以使用以下命令進行更新 brew upgrade postgresql brew postgresql-upgrade-database brew services restart postgresql postgresql 是 PostgreSQL 較難發音的名稱,但其實它們是同一個東西,只是在名稱中嵌入了 SQL。SQL 是什麼?SQL(發音為“sequel”)是結構化查詢語言(Structured Query Language)的簡稱,它是一種我們用於與關聯式資料庫進行互動的特殊語言。 如果你對資料庫是新手,這些術語可能讓你有點困惑!基本上,關聯式資料庫將資料組織到資料表中,並提供一種從這些資料表中插入和提取資料的方法。這就是 SQL。 驗證完 PostgresSQL 的登入設定後 返回終端機,輸入: psql postgres 這將給你進入 postgres 資料庫的權限,預設該資料庫與你的 macOS 使用者名稱相同。Homebrew 在安裝時會自動建立你的使用者。...

如何安裝 Homebrew 的舊版本套件

使用 Homebrew 安裝舊版本的某個套件可能比你預期的要複雜一些 我遇到了這個問題:我更新了我使用的 CMS - Hugo,其中一個比我使用的版本更新的版本引入了一個破壞性的變更。 我的首頁不再列出博客文章了。我沒有時間弄清楚為什麼,所以我說:“我只需回滾”。 現在的問題變成了.. “怎麼辦?” 首先,我卸載了 Hugo: brew unlink hugo 然後我按照我在這篇文章中找到的指示進行操作。我需要搜索 Hugo 套件公式https://github.com/Homebrew/homebrew-core/search?utf8=%E2%9C%93&q=hugo&type= 然後點擊該文件(Formula/hugo.rb),並點擊History按鈕以查看所有先前的版本。 我找到了我想要的 0.53 版本,並點擊<>按鈕以查看該時間點上的homebrew-core 存儲庫。然後我打開了 Formula/hugo.rb 文件,並點擊Raw以獲取該文件的直接 URL。 然後,我把它用作 brew install 的參數。例如: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/5441fa16872c9a56bd5997558df45b808f13285b/Formula/hugo.rb 就這樣。 解決我的問題的下一步是卸載當前安裝的版本,並嘗試逐個更新版本,這樣我就可以找出引入了導致問題的變更的發佈版。

如何更新 Node.js

了解如何正確升級您所安裝的 Node.js 版本。 Node.js 可以在系統上以多種方式安裝,升級指南取決於您最初的安裝方式。 如果您使用官方包進行安裝 最簡單的安裝 Node.js 的方法是從 Node.js 網站 下載官方包。 官方包包含一個安裝程式,該程式將檢測現有的 Node.js 版本並覆蓋為新版本。 如果您使用 Homebrew(在 macOS 上)安裝 Node Homebrew 是在 Mac 上安裝 Node.js 的一種非常流行的方式。 如果您確實使用了 Homebrew,升級 Node 就像運行以下命令一樣簡單: brew update #確保 Homebrew 是最新版本 brew upgrade node Homebrew 可能會要求您升級 xCode 版本以編譯包。 如果您使用 nvm nvm 是運行 Node 的一種流行方式。它允許您輕鬆切換 Node 版本,安裝新版本來嘗試並在出現問題時輕鬆回滾,例如。 它還非常有用,可使用舊版 Node 測試您的代碼。 使用 nvm 時,可以通過輸入 nvm current 來檢查當前運行的版本,這與 node -v 給出的結果相同。 要列出所有已安裝的版本,運行 nvm ls。 您可以使用 nvm install <VERSION> 安裝新的 Node 發行版(或任何舊的 Node 發行版),例如:...

如何解決 macOS 中的 xcrun invalid active developer path 錯誤

使用命令行快速解決這個煩人的問題 最近在將我 macOS 版本更新為 Catalina 後遇到了這個問題。 當我試圖通過 Homebrew 更新 Hugo 時,觸發了這個錯誤: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 雖然命令成功完成了,但我們不想看到錯誤,是嗎? 以下是我解決這個問題的方法。 在終端中執行以下命令: xcode-select --install 這會觸發一個在 macOS 中的對話框: 點擊「安裝」並接受條款後,下載會開始: 安裝完成後: 我關閉了終端窗口並打開了一個新的終端。 問題解決。