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 を使用する方法

推薦する

React.js フレームワーク Redux 基本ケースの詳細な説明

react.js フレームワーク Redux https://github.com/reactjs/...

JavaScript フォーム検証の例

HTML フォームは、名前、電子メール アドレス、場所、年齢などのユーザー情報を収集するためによく使...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1. 単一行オーバーフロー1. 1 行がオーバーフローした場合、超過部分は表示されます...または、...

MySQLテーブルシャーディングとパーティショニングの具体的な実装方法

縦型テーブル垂直テーブル分割とは、多数の列を持つテーブルを複数のテーブルに分割することを意味します。...

a href=# と a href=javascript:void(0) の違いの詳細な説明

a href="#"> リンクをクリックすると、ページがページ上部までスク...

H5ウェイクアップアプリの実装方法と注意点のまとめ

目次序文APPメソッドにジャンプURLスキームメタタグユニバーサルリンクさまざまな使い方URLスキー...

DevUI で独自の Angular コンポーネント ライブラリを構築する方法

目次序文コンポーネントライブラリの作成主要な構成の変更ディレクトリレイアウトの調整ライブラリ構築のた...

WeChatアプレットはビデオプレーヤーのビデオコンポーネントを使用します

この記事の例では、WeChatアプレットのビデオプレーヤーコンポーネントの具体的なコードを参考までに...

Vueの最初のレンダリングのプロセス全体についての簡単な説明

目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する

1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...

overflow:hidden の役割の詳細な説明 (オーバーフローの非表示、フロートのクリア、マージンの崩壊の解決)

1. オーバーフロー:非表示 オーバーフロー非表示要素に overflow:hidden が設定さ...