LinuxでHomebrewを使用する正しい方法

LinuxでHomebrewを使用する正しい方法

多くの人が Linux Homebrew を使用しています。これをより良く使用するための 3 つのヒントをご紹介します。

環境汚染を避ける

まず、環境汚染を避けるために、Homebrew の bin ディレクトリを $PATH に追加しないようにし、必要な実行可能ファイルのみを ~/bin ( $PATH 内) にソフトリンクします。

新しいソフトウェアをコンパイルまたはインストールする場合、/usr ディレクトリの下のシステム ファイルに依存するようにする必要があります。Homebrew の bin ディレクトリを長期間 $PATH に配置すると、コンパイル時に Homebrew の gcc/clang が呼び出されます (これら 2 つは brew に自動的にインストールされることが多く、homebrew でソース コード パッケージをコンパイルおよびインストールするために使用されます)。brew に gcc/clang がない場合でも、依存関係を分析するときに pkg-config/python やその他の brew ソフトウェアが呼び出され、homebrew に基づく依存関係が返されますが、これは明らかに望ましいことではありません。

したがって、必要なツールへのソフト リンクを作成し、それらを ~/bin の下に置くだけで、homebrew を使用でき、環境汚染を回避できます。brew を呼び出して新しいパッケージをインストールするときに、homebrew の bin ディレクトリを $PATH に一時的に追加し、完了したらキャンセルするだけです。これを行うには、次の 2 つの関数を使用します。

関数brew_disable() {
 PATH=${PATH##*"/.linuxbrew/bin:"} をエクスポートします。
 PATH=${PATH##*"/.linuxbrew/sbin:"} をエクスポートします。
 MANPATH=${MANPATH##*"/.linuxbrew/share/man:"} をエクスポートします。
 エクスポート INFOPATH=${INFOPATH##*"/.linuxbrew/share/info:"}
}

関数brew_enable() {
 BREW = '/home/linuxbrew/.linuxbrew'
 醸造を無効にする
 PATH="$BREW/bin:$BREW/sbin:$PATH" をエクスポートします。
 MANPATH="$BREW/share/man:$MANPATH" をエクスポートします。
 エクスポート INFOPATH="$BREW/share/info:$INFOPATH"
 HOMEBREW_NO_AUTO_UPDATE=1 をエクスポートする
}

上記の 2 つの関数を bashrc に配置します。通常時は homebrew を有効にする必要はありません。インストールが必要なときに brew_enable を呼び出し、パッケージのインストール後は brew_disable を使用します。

別の方法もあります。brew という名前の関数を記述するだけです。

関数brew() {
  PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" /home/linuxbrew/.linuxbrew/bin/brew "$@"
}

次に、brew コマンドを入力すると、パスが一時的に設定され、実際の brew 実行ファイルが呼び出されます。

brew インストール fzf

上記の関数を使用すると、brew パスを設定する必要がなく、ソフトウェアを直接インストールできます。brew という名前を上書きしたくない場合は、上記の関数の名前を brew2 などに変更できます。

自動更新を無効にする

2 番目の最適化は、毎回の自動 brew 更新を無効にすることです。

HOMEBREW_NO_AUTO_UPDATE=1 をエクスポートする

これにより、ソフトウェアをインストールして緊急に使用する必要があるたびに、半日かけてソフトウェアを更新する必要がなくなります。これは非常に面倒です。このマクロを使用すると、定期的に手動で更新を実行できます。

臨時エージェントを利用する

bashrc に次の行を追加します:

エイリアス socks5="http_proxy=socks5://127.0.0.1:1080 https_proxy=socks5://127.0.0.1:1080 all_proxy=socks5://127.0.0.1:1080 "

最後の引用符の前にスペースがあるので、brew をプロキシ経由で実行したい場合は次のようにします。

socks5 brew インストール micro

これにより、環境変数が破壊されることはなく、brew が新しいソフトウェアをインストールできるように、localhost:1080 の socks5 プロキシが一時的に設定されます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

<<:  ウェブアニメーションのフレームレートFPSを計算する方法

>>:  MySQL でデータ復旧に binlog を使用する方法

推薦する

Tomcatディレクトリ構造の詳細な説明

目次ディレクトリ構造binディレクトリconfディレクトリlibディレクトリwebapps ディレク...

nginx でネストされた if メソッドを実装する方法

Nginx はネストされた if ステートメントをサポートしておらず、if ステートメントでの論理判...

div 要素に終了タグがないため、Web ページを開くことができません

最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...

Vue の高度なコンポーネント機能コンポーネントの使用シナリオとソースコード分析

目次導入使用シナリオソースコード分析要約する導入Vue は、コンポーネントをステートレスかつインスタ...

docker tagとdocker pushの使い方の詳しい説明

Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...

MySQLとOracleのメタデータ抽出例分析

目次序文メタデータとは参照文書アドレスまずはMySQLについてお話しましょうOracleについて話し...

WeChatアプレットのスクロールビューが左右連動効果を実現

WeChatアプレットはスクロールビューを使用して左右のリンクを実現します。参考までに、具体的な内容...

MySQLデータベースで外部キー制約を使用する必要があるかどうかの詳細な説明

1. はじめに外部キー制約を使用するかどうかという話題は、すでに決まり文句になっています。学校では、...

Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル

** Linuxにmysql-8.0.20をインストールする**環境の紹介オペレーティングシステム:...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...

MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

mysql ダーティページWAL メカニズムにより、InnoDB はステートメントを更新するときに、...

ユーザーエクスペリエンスの要素またはWebデザインの要素

システムとユーザー環境の設計<br />Apple システムの成功は、そのシステム アー...

MySQL レプリケーションの利点と原則を詳しく説明します

レプリケーションとは、マスター データベースの DDL および DML 操作をバイナリ ログを介して...

Vue での keepAlive の使用例の詳細な説明

開発においては、一覧から詳細ページにジャンプし、また詳細ページに戻る際に一覧ページの状態(スクロール...

MySQL 8.0.20 Window10無料インストール版設定とNavicat管理チュートリアルグラフィック詳細説明

1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...