brew
個人のPC汚したくないからコンテナ内でinstallすればいいじゃないかという話は置いといて、phpやcomposerやyarnやnodeなどのライブラリの導入管理をするためのツール。nodeを管理するためのn
もbrew
で導入できる。
macユーザー必須のパッケージ管理ツール。
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
バージョン等確認。
% brew info
54 kegs, 19,016 files, 695MB
% brew -v
Homebrew 3.6.10
Homebrew/homebrew-core (git revision b3600170839; last commit 2022-11-11)
Homebrew/homebrew-cask (git revision a7fa89f029; last commit 2022-11-11)
php
install可能バージョン検索。
% brew search php
==> Formulae
brew-php-switcher php-cs-fixer php@7.3 phpbrew phpmyadmin pcp
php php-cs-fixer@2 php@7.4 ✔ phplint phpstan pup
php-code-sniffer php@7.2 php@8.0 phpmd phpunit
==> Casks
eclipse-php phpstorm phpwebstudy pop
% brew install php@7.4
バージョン等確認。
% php -v
PHP 7.4.33 (cli) (built: Nov 6 2022 15:12:45) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
usr/local/bin/php
は、brewによってinstallされた/usr/local/Cellar
配下にある対象のphpライブラリのエイリアスであり、これが実体。
% type php
php is /usr/local/bin/php
% ll /usr/local/bin/php
lrwxr-xr-x 1 masayagoto admin 32 11 11 16:54 /usr/local/bin/php -> ../Cellar/php@7.4/7.4.33/bin/php
composer
install後、非推奨表示がでるのでupdate
% brew install composer
% composer self-update
バージョン確認。
% composer -V
Composer version 2.4.4 2022-10-27 14:39:29
n
nodeのバージョン管理ツール。
brew install n
n自体のバージョン確認。
% n -V
v9.0.1
node
ホストOS(コンテナ外)には入れたくない人が多数かもしれないが、creative-timやgithubなどから取得したテンプレートを確認したいときローカルにyarn install
やyarn serve
が必要だったりするのでローカルに入れておくと便利。
テンプレートを確認するためだけにnodeコンテナを立てたりするのは現実的ではないと思っている。
% sudo n lts
バージョン確認。
フロント周りのビルド系はnodeのバージョンが最新すぎるとビルドエラーが起きたりすることがよくある。
プロダクトにあったnodeのバージョンをn
で切り替えよう。
% node -v
v16.18.1
おまけ
20221111現在、私がbrewでinstallしているパッケージ等。
% brew list
==> Formulae
aom ca-certificates giflib libavif libtool oniguruma rtmpdump
apr composer gmp libidn2 libunistring openexr sqlite
apr-util curl highway libnghttp2 libuv openldap tidy-html5
argon2 fontconfig icu4c libpng libvmaf openssl@1.1 unixodbc
aspell freetds imath libpq libzip pcre2 webp
autoconf freetype jpeg-turbo libsodium lz4 php xz
brotli gd jpeg-xl libssh2 m4 php@7.4 yarn
c-ares gettext krb5 libtiff n readline zstd