Menu/Prof
スズキマコト
自由人
元々は楽器屋のギター兄ちゃん。
趣味でプログラミングしてるうちに
本職になってしまった人。

過去に喋っていた言語
c pascal Assembler
perl PHP Python Ruby など
javascriptなどは都度必要に応じて。
最近Mac買ったのでswift勉強してます。

体ぶっ壊して死にかけたので人生RESET中。

macにwgetをインストールする方法|homebrewで簡単導入

Some visuals are licensed via Canva Pro (includes commercial rights).
Usage complies with Canva’s license terms at the time of use.
License policy: canva.com/policies/content-license-agreement

X
     この記事はプロモーションを含みます

Macでちょっとしたサイト構造を調べたくなって、ついクセで fetch を叩いた。
「command not found」。──あれ、MacOSってfetch無いんだっけ? そうだった。あれはFreeBSD系だったな、と。

じゃあ wget で行こうと思ったら、こっちも標準で入っていない。
MacOSには curl があるけど、オプションが面倒だし、再帰的にサイトごとダウンロードしたい用途には向かない。
やっぱり wget を使いたい。

というわけで、XcodeとHomebrew経由で wget を入れて快適になったので、その手順をまとめておきます。
ちなみに wget はUbuntuでは最初から入ってるけど、MacOSやCentOSでは標準じゃないことも多いんですよね。

contents

wgetが無い?MacOS標準には非搭載です

MacOSのターミナルでwgetコマンドが「command not found」と表示される様子。

MacOSを使っていると、たまに「え、これ無いの?」というコマンドに出くわすことがある。wget もその代表格だ。
特にLinuxやFreeBSDを触ってきた人間からすると、「wgetくらい標準で入ってるでしょ」と思ってしまう。
実際、UbuntuなどのLinuxディストリビューションでは、wget が最初から使える環境も多い。

けれどMacOSでは、wget は標準で搭載されていない。代わりに curl が入っているのだが、
この curl はオプションがややこしく、シンプルなファイル1つの取得には向いていても、
「サイトをまるごと再帰的にダウンロードする」といった使い方には向かない。
挙句、FreeBSDでよく使っていた fetch も当然MacOSには無い。

つまり、Macのターミナル環境で wget を使いたい場合は、自分でインストールする必要があるということだ。
幸い、Homebrewという優秀なパッケージマネージャがあるので、それを使えば導入は簡単。
Xcodeさえ入れてしまえば、あとは数コマンドで wget を導入できる。

このあと、その具体的な手順を詳しく解説していく。

Macにwgetを入れるための手順

Macにwgetを導入するための手順をまとめた図解。XcodeとHomebrewのインストールが前提条件。

MacOSで wget を使えるようにするには、まず Xcodeの導入Homebrewのインストールが前提になる。
慣れていないとやや面倒に思えるかもしれないが、最初の環境さえ整えてしまえば、以降は他のCLIツールも楽々扱えるようになる。
ここでは、なるべくつまずかないように、ひとつずつ順番に手順を解説していく。

STEP
Xcodeをインストール

App Storeから「Xcode」を検索してインストールする。
容量が大きいので、ネット回線やMacのスペックによっては20〜30分ほどかかることもある。
完了まで気長に待とう。

※今後 swift などMac向けの開発もする予定があるなら、ここで入れておいて損はない。

STEP
コマンドライン開発ツールを入れる

Xcode本体とは別に、CLI用の開発ツールも必要。
ターミナルを開いて、以下のコマンドを実行:

xcode-select --install

実行するとインストーラが立ち上がり、指示に従ってインストールが進む。
こちらも多少時間がかかるが、ここまでが準備段階。

STEP
Homebrewをインストール

HomebrewはMac用のパッケージ管理ツール。
ブラウザで brew.sh を開き、トップに表示されているインストール用コマンドをコピーする。

Homebrew公式サイトのトップ画面に表示されるインストール用スクリプトの例。

そのコマンドをターミナルに貼り付けて実行。

なんか聞いてくるので 全てリターンキーを。他のキー押すと強制終了しちゃいます。

Homebrewインストール中にターミナルに表示されるインストール確認メッセージ。


途中でsudo用のパスワード入力を求められるが、それは自分のMacのログインパスなので安心して入力してOK。

完了すると「Install successful!」のようなメッセージが出る。

STEP
brewのPATHを通す

brewを入れた直後は、そのままだとターミナルからコマンドが認識されないことがある。
インストール時に表示された指示(たとえば .zprofile に export PATH を追加)をそのままコピペして実行すればOK。

bashを使っている人は .bash_profile に追記、zshの人は .zprofile に書くのが基本。

画面で反転させている この部分をコマンドラインでコピペして実行してください。

brewインストール後に表示されるPATH設定のコマンド例を示した画面。

.bash_profileに追加されているか一応確認

.bash_profileにbrewのPATHが正しく追加されたことを確認しているターミナル画面。
STEP
wgetをインストール

ここまで来ればもうゴール目前。
ターミナルで次のコマンドを打つだけ。

brew install wget

あとはbrewがすべてやってくれる。数十秒〜数分で wget が使えるようになる。
再起動などは不要で、すぐに使い始められるはずだ。

wgetの使い方(再帰取得でサイトをまるごと保存)

wgetコマンドによる再帰的ダウンロードを行っているターミナルの実行例。

wget の真骨頂は、やはり「サイトをまるごとダウンロードできる」こと。
とくに <link><script> タグで参照されているCSSやJSも含めて、ディレクトリ構造ごと取得したいときには便利だ。

その際に使うのが -r オプション、つまり「再帰的に取得(recursive)」の指定だ。

たとえば、家庭用ルーターの管理画面が http://192.168.128.1/ にあるとして、そこをまるごとローカルに保存したければ:

wget -r http://192.168.128.1/

とするだけで、対象のURLにアクセスし、リンク先や参照ファイルをたどって必要なファイルを全部取得してくれる。

保存先は、自動で「対象ドメイン名のフォルダ」が作られ、その中に階層構造ごと保存される。
見た目もURL構造もそのままなので、オフラインで動作検証したり、構成の参考にするのにもってこいだ。

wgetで再帰取得したファイル群が保存されているローカルフォルダ構造の表示。

よくある質問(FAQ)

MacOSでwgetコマンドが見つからない状況に戸惑うユーザーのイメージ写真。

MacOSには本当にwgetが入っていないんですか?

はい、MacOS標準環境には wget は含まれていません。
curl は標準で使えますが、再帰取得などwget特有の機能は一部使えません。

fetchっていうコマンドと何が違うんですか?

fetch はFreeBSD系のコマンドで、URLからファイルを取得する目的は同じですが、MacOSには搭載されていません。
wget はLinux系に多く見られる汎用的なダウンローダーです。

curlじゃだめなんですか?

curl でもファイルのダウンロードは可能です。
ただし -r のような再帰取得やサイト丸ごとの保存には対応しておらず、wget の方が簡便です。

Windowsでもwgetは使えますか?

はい、使えます。
PowerShellやGit Bash環境、もしくはWindows Subsystem for Linux(WSL)を導入すれば、wget が利用可能です。

Homebrewは他にも使えますか?

はい。
wget 以外にも htoptreeffmpeg など、さまざまなCLIツールを簡単に導入できます。

wgetで取得したサイトはそのまま公開できますか?

著作権の問題があるため、他人のサイトを丸ごと複製・公開するのはNGです。
個人的な学習や調査目的で保存するにとどめましょう。

wgetはGUIでも使えますか?

wget は基本的にコマンドラインツールです。
GUIでの操作には不向きですが、wget をバックエンドに使うツールも一部存在します。

curlにはwgetのような再帰取得機能はないのですか?

はい、curl には wget -r のような再帰的なサイト取得機能はありません。
curlは主に単一ファイルのダウンロードやAPI通信向けで、HTML内のリンクを自動でたどる機能はありません。

まとめ

Macでwget環境を構築し、CLIツールを活用する世界が広がることをイメージした抽象的な写真。

MacOSで wget を使うには、まずXcodeとHomebrewを導入する必要がある──。
最初はちょっと面倒に感じるかもしれないが、一度この環境を整えてしまえば、CLIツールの世界が一気に広がる。

curlfetch の違いに戸惑うこともあるけれど、目的が「サイトをまるごと保存したい」のであれば、wget のシンプルさと柔軟さはやっぱり便利だと感じる。
とくに再帰取得の -r オプションは一度覚えておくと何かと役立つ。

この記事が、自分のように「wget無いじゃん……」と最初に詰まったMacユーザーの一助になればうれしい。
Homebrewを通じて、CLIの楽しさがちょっとでも伝われば幸いです。

シェアしてくれると喜びます
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

makotoのアバター makoto Blogger&YouTuber

サーバー管理者として17年ほど仕事でサーバー触ってました。
www,mail,dns,sql各鯖をすべてFreeBSDで運用してましたが現世ではかなりレアなタイプになるみたいですね笑

viやシェルスクリプトとかperlとかgccとかFreeBSDとか実はbashよりtcshが好きとか時々寝ぼけるのは
その名残でしょう。

今まで縁の下の力持ち的な他人のためにプログラムを書き他人のためにサーバー構築し他人のためにWEBサイトを創る的な世界から
自分の好きなことに集中できる環境は実に気持ち良いですね。
現役は引退済みなので難しいことはやりませんしやれません。

現在 ほぼ自由人。

contents