「すべてを自動化する」という私の探求において、私はMacラップトップを本質的にコードとして管理する旅に出ました。です。ポイントしてクリックしてアプリケーションやユーティリティを手動で管理するのではなく、パッケージ管理ソフトウェアを使用して、不要なソフトウェアをインストール、更新、削除することを好みます。
これは、Macユーザーにとっての課題です。Macが置かれている場所の1つです。オペレーティングシステムmacOSは、常にLinuxの背後にあります。パッケージ管理はLinuxです。Macユーザー向けのデフォルトのパッケージマネージャーはありませんが、Linuxユーザーにはおなじみのyum
や
現代のFlatpakの選択に。しかし、私たちについてはどうでしょうか?
ここでHomebrewが登場します。HomebrewはmacOSの事実上のパッケージマネージャーとしての空白を埋めます(そしてLinuxの別のオプションとして)。コマンドラインに精通している人なら誰でも信じられないほどスムーズでわかりやすいエクスペリエンスを提供し、「コマンドラインを初めて使用する場合はコマンドラインを学ぶのに良い方法です。
Macを使用していて、Homebrewをまだお持ちでない場合は、次のコマンドでインストールできます。
このコマンドは、iを実行します。 Homebrewチームによって提供されたnstallerスクリプト。より慎重になりたい場合は、ファイルをcurl
、確認してから手動で実行できます。
brewでコマンドラインユーティリティを管理する
Homebrewは、デフォルトで「Apple(またはLinuxシステム)がインストールしなかった必要なものをインストールする」ことを誇っています。インストールはbrew
コマンドで行われます。何千ものコマンドラインユーティリティにアクセスできますが、より複雑なアプリケーションにはアクセスできません。
私たちのオタクにとって、「必要なもの」カテゴリに該当するユーティリティには、便利なディレクトリ構造とpyenv
を表示するコマンド。これは複数のバージョンのPythonを管理するために使用します。
すべての「式」を確認できます。 search
コマンドを使用してHomebrewから入手できます。wc
コマンドを使用すると、式の数が表示されます。
# -l counts the number of lines
$ brew search | wc -l
5013
5,000を超える数式があります。これは信じられないことです。ソフトウェアの量。そのため、膨大なリストを検索する前に、必要なものを把握しておくことをお勧めします。ありがたいことに、閲覧は簡単です。数式は、オペレーティングシステム(Homebrew CoreとLinuxのMac)によって分割されたコアリポジトリにコード化され、一元化されます。 Linux Coreで)。HomebrewAPIからも入手でき、Webサイトにリストされています。
口コミは、ユーティリティを見つけるためのもう1つの優れた方法です。そのことを念頭に置いて、ここに私のお気に入りのいくつかを示します。 「インスピレーションを求めています:
-
pyenv
、rbenv
、nodenv
Python、Ruby、およびNode.jsのバージョンを(それぞれ)管理します -
imagemagick
スクリプト可能な画像編集用 - <スクリプト可能なドキュメント変換の場合はdivid = "912dfd2ff6">
(。docxから.mdまたは.htmlに切り替えることがよくあります)
hub
の場合command-liの使用方法の例については、GitHubユーザーのGitエクスペリエンスの向上tldr
neユーティリティ例として、アプリケーションのマニュアルページをスクロールする代わりのユーザーフレンドリーなtldrページを見てみましょう。 search
をもう一度実行すると、利用可能かどうかを確認できます。
$ brew search tldr
==> Formulae
tldr ✔
成功!チェックマークを付けるとわかります。が利用可能になりました。これでインストールできます:
自作はありがたいことにバイナリを事前にビルドするので、ローカルマシンのソースコードからビルドする必要はありません。これにより、多くの時間とCPUファンのノイズを節約できます。 Homebrewについて私が評価しているもう1つの点は、この機能が何を意味するのかを正確に理解していなくても評価できることです。
しかし、それに興味がある場合は、複雑さを確認するのが楽しい場合があります。iv id =を実行します。 tldr
の “84d9b077fc”>
で、すべての依存関係管理、ソースコード、さらにはパブリック分析を確認できます。
最後に、優れたパッケージマネージャーであれば、Homebrewのbrew uninstall
を使用して、未使用のユーティリティをすばやくクリーンアップして削除できます。
醸造キャスクでアプリケーションを管理します
コマンドラインユーティリティは非常に便利ですが、本格的なアプリケーションについてはどうでしょうか。 Homebrewは、標準コマンドをシンプルに保ち、デフォルトのbrew
コマンドラインインターフェイスを介して単一ファイルアプリケーションのみをインストールします。アプリケーションはその構造に適合しません。単一のバイナリよりもはるかに複雑なディレクトリ階層があります。
幸い、Mac上のHomebrewには、より複雑なマルチディレクトリ構造用の「casks」というサブコマンドが含まれています。 。特に優れているのは、cask
が標準のbrew
コマンドと同様のコマンド構造を使用しているため、同様のsearch
、install
、およびinfo
の手順:
brew search --cask | wc -l
4772
閲覧できるアプリケーションが5,000近くあり、Homebrewのウェブサイトで簡単に閲覧できます。
cask
私の新しいお気に入りのアプリケーションの1つであるMeld(Opensource.comで読んだもの)。これは、マージの競合の管理に役立つ機能豊富なエディターです。そのWebサイトにダウンロードがあり、インストーラーを実行してアプリケーションフォルダーにドラッグアンドドロップできますが、それはもう行いません。Homebrewを使用しています。
まず、わずかに異なる構文で使用できることを確認します。
$ brew search --casks meld
==> Casks
meld
次に、cask
サブコマンドを使用してインストール:
Homebrewはアプリケーションをインストールするだけでなく、現在のパスの/usr/local/bin/
で利用できるようにします。これで、コマンドラインからmeld
を実行するか、Applicationsフォルダーからアプリケーションを起動できます。
brewアップグレードですべてを更新
メインパッケージマネージャーを一貫して使用する理由は、ソフトウェアを一貫してアップグレードして、既知のセキュリティバグを回避し、常に最新の機能を使用できるようにするためです。すべてを手作業でインストールする場合は、各ツールとアプリケーションを監視して、自動アップデーターがあるかどうかを確認し、ない場合は、最新のリリースを自分でプルダウンする必要があります。
アップグレードは非常に優れています。パッケージ管理が光ります。特別なバージョン要件がないため、すべてをスムーズに更新するために1つのコマンドのみを実行します。
より複雑なニーズがある場合、またはアップグレードをインストールする前に監視したい場合は、たくさんあります。利用可能な機能フラグ。たとえば、-n
は、利用可能なアップグレードをインストールせずに一覧表示する「ドライラン」を提供します。アプリケーションのバージョンを「固定」して、アップグレードを防ぐこともできます。
インストールのバックアップ
ツールを使用してバージョン管理の他のドットファイルと同じようにインストールをバックアップできる場合、コマンドラインユーティリティとアプリケーション管理はまったく新しいレベルにジャンプします。Homebrewにはそのような種類があります。 dump
サブコマンドで使用できる機能。現在インストールされているすべてのツールの再利用可能なリストであるBrewfile
を生成します。インストールから1つ、好みのフォルダに移動して実行します:
$ cd ~/Development/dotfiles # This is my dotfile folder
$ brew bundle dump
マシンを変更してHomebrewで同じアプリケーションをインストールするには、Brewfileのあるフォルダーに移動して、次のコマンドを実行します。
リストされているすべての数式とキャスクがインストールされます。新しいマシン。
パッケージ管理のためにHomebrewに移動します
Homebrewは、コマンドラインユーティリティとアプリケーションの頼りになるマネージャーです。それは私を整理して最新の状態に保ち、そのデザインは使いやすさと機能の深さの間の美しいバランスです。 Homebrewはパッケージ管理の詳細をあなたが知る必要があるものだけに最小化し、ほとんどのユーザーはそれから利益を得るでしょう。
「Linuxパッケージマネージャーにすでに慣れているなら、Homebrewは単純すぎると思うかもしれませんが、Homebrewを間違えないでください」 s機能が不足しているため使いやすさ。もう少し深く見ると、ここで示したものをはるかに超える多くの高度なオプションがわかります。brew
を追加します。
サブコマンドは、テンプレートを使用して、アップグレード、削除、トラブルシューティング、さらには新しい数式の提供に使用できる豊富な機能を表示します。