久しぶりにMacOSを起動してやったこと
はじめに
こんにちは、筆者です。
※ここからしばらく無関係な雑談が続きます、本編を見たい方はこちらからどうぞ
最近はコロナウイルスの影響や夏真っ盛りということで、引きこもり生活が続いています。
会社がテレワークになかなか踏み切らないので出社時は外出するんですが
引きこもり生活が長く続くと、ゲームやらPCゲームやらiPadでのお絵かきやらをついついしちゃい、気づけば8月。
そろそろ業務以外にもソースコードを書きたいなと思い(具体的にはVue3を試してみたいなと思い)Macbookを取り出したのですが…。
数ヶ月単位で起動してなかったからか、OSは古いわソフトウェアアップデートの嵐だわで散々な状態に。
いろんなアップデートを済ませようやくコードが書ける…と思い、vue --version
を叩いたら今度はvue: command not found.
というエラーに見舞われ…。
どうやらnpmモジュールやらHomebrewやらが新しくなってなかったせいでエラーが起こっていたようで。
App Store等を経由してアップデート可能なソフトウェアと異なり、これらのパッケージ群はエラー吐かれないと中々気づけないんだなぁと思う次第です。
おまけにいつからか(Catalinaから)、MacOSのデフォルトターミナルがbashからzshに変わっているという。
((流石にこれは気付けよって話ですが
こんな状況下になり、この記事やこの記事以来久々にMacOSを結構いじったので、折角だしとどんなことをやったかメモしておこうかと。
それではいきましょう。
どんなことをやったか
まずはどんなことをやったかを箇条書きで。
- Homebrewのアップデート
- グローバルインストールされたnpmパッケージのアップデート
- zshのカスタマイズ
順に見ていきましょう。
Homebrewのアップデート
久しぶりに起動したので、まずはHomebrew自体のアップデートから。
$ brew update
次にHomebrewでインストールしたPKGのアップデートをしたのですが…。
brew upgrade
XCodeのアップデートが先に終わってなかったからなのか、brew install gcc
あたりでつまづくはめに。
XCodeって普段全然使ってなかったので、アップデートを年単位で放置していたのですが…こういうところで使ってたんですね。
こちらの記事を参考にしながら、xcode-select --install
を叩きPC再起動を繰り返して何とか治りました…。
macOSでgccが入らない - Qiita
また、plantuml
のアップデートでもえらくコケました。
どうもplantuml
は依存モジュールが多いらしく…依存モジュールのアップデートでこけてるっぽかったです。
また、元々インストールしていたパッケージのいくつか(libksba
とか)は、MacOSに標準で搭載されるようになった様子。
Homebrewでインストールする必要が無くなったってことですね…。
どうしてもHomebrew経由でインストールしたい場合は、特別な手順を踏まないといけないようで。
筆者的にはそこまでする必要もないので、放置しておきました。
一通りアップデートされても何だか不安だったので、数回brew update
とbrew upgrade
を実行。
何も動作しなくなるまで叩き続けました…。
ちなみに現状でインストールされているHomebrewパッケージの一覧はこちら。
殆どが聞き覚えのないパッケージです…何かの依存先パッケージなのでしょう。
((brew
をbrewn
と思い切りミスってるのは気にしないでください…
$ brewn list zsh: correct brewn to brew [nyae]? y autoconf gibo imagemagick libtiff openjdk ruby-build automake giflib isl libtool openjpeg shared-mime-info cairo git jasper libuninameslist openssl@1.1 sqlite coreutils glib jpeg libxml2 pango webp docbook gmp jq libyaml pcre x265 docbook-xsl gnu-getopt libde265 little-cms2 pcre2 xmlto fontconfig gobject-introspection libffi lzo pixman xz fontforge graphite2 libgpg-error mono pkg-config yarn freetype graphviz libheif mpfr plantuml zlib fribidi gts libksba netpbm pyenv zsh-completions gcc harfbuzz liblqr nkf python@2 gd heroku libmpc node python@3.8 gdbm heroku-node libomp nodebrew rbenv gettext icu4c libpng oniguruma readline ghostscript ilmbase libspiro openexr ricty
お次はグローバルインストールされたnpmパッケージのアップデートです。
グローバルインストールされたnpmパッケージのアップデート
Homebrewと同様に、まずはnpm自体のアップデートから。
npm update -g npm
次にグローバルインストールされたnpmパッケージのアップデートを実行。
npm update -g npm
Homebrewの時とは打って変わり、非常にすんなりアップデートできました。
また、Homebrewとは異なりアップデート予定のモジュールがこんな感じに一覧化されるのも嬉しいポイントです。
npm outdated -g
最後に何の気なしに、現状インストールされているnpmパッケージ一覧をチェック。
--depth=0
を付けないと依存モジュールまで全部出てしんどすぎるのでご注意を(一敗)。
npm ls --depth=0 -g /Users/**ナイショ**/.node_modules_global/lib ├── @vue/cli@4.5.2 ├── azure-cli@0.10.20 ├── jshint@2.11.0 ├── long@4.0.0 ├── moment@2.24.0 ├── n@6.2.0 ├── node@11.15.0 ├── npm@6.14.7 ├── request@2.88.0 └── yarn@1.22.4
…ここで、yarn
がnpmとHomebrewで両方インストールされていることに気づき。
yarnの様なパッケージ管理モジュールを同一の役割を持つnpmでインストールしてるのは個人的に気持ち悪かったので、ひとまずnpmの方から削除。
npm remove -g yarn removed 1 package in 0.078s 🌹 ~ yarn -v 1.12.3
yarnが最終的に残っているかも確認取れたので、ひとまずはここまで。
ついでに今使ってないパッケージもいくつか消し、最終的なnpmパッケージ一覧は下記のようになりました。
npm ls --depth=0 -g /Users/**ナイショ**/.node_modules_global/lib ├── @vue/cli@4.5.2 ├── jshint@2.11.0 ├── long@4.0.0 ├── moment@2.24.0 ├── n@6.2.0 ├── node@11.15.0 ├── npm@6.14.7 └── request@2.88.0
最後にzshのカスタマイズです。
zshのカスタマイズ
MacOS Catalinaからデフォルトターミナルがbash→zshになったことを受け、今後はzshを使おうと決心しカスタマイズしていくことに。
これまで筆者はbashを使っていたので、「できることならbashの設定を維持しながらzshをカスタマイズしたいな〜」と思った矢先、素晴らしい記事が。
こちらの記事にある様に、zshの補完機能を強化するzsh-completion
を入れたりzshの設定フレームワーク(?)のPrezto
を使いながらカスタム。
おまけで~/.zshrc
や~/.zprofile
を下記の様にいじって完成。
以前の記事のニノ鉄は踏まない様、各設定値にはバッチリコメントを入れておきました。
#`~/.zshrc`: #入力ミスに対応する setopt correct
#`~/.zprofile` # ターミナルの$前に表示される情報の変更 PROMPT='%W %M/%n%$ ' # Customize prompt autoload -Uz promptinit promptinit prompt cloud 🌹
最後に
コードを書きたいと思ってからここまでで、半日くらいかかっちゃいました…Vue3を試してみたかっただけなのになぜここまで…。
でもこれでめでたく、vue cliが使える様になりました!
vue --version @vue/cli 4.5.2
折角あるんだし、今後は定期的にMacbook使っていこうかなと思う次第です…。
それでは|д゚*)