Closed22

Mac開発環境整備2025年5月

keitaknkeitakn

新しいMacのスペック

以下の通りです。

MacBook Pro(M4 Pro/M4 Max)
16コアCPU、40コアGPU、16コアNeural Engine搭載Apple M4 Maxチップ
128GBユニファイドメモリ

keitaknkeitakn

基本設定

少しUIが変わっていますが基本的には https://zenn.dev/keitakn/scraps/4ec21e1ce71101 で対応した手順と同じです。

ユーザとグループ

右上のメニューにログインウィンドウを表示する為の設定(ファストユーザースイッチメニュー)を有効化する。

トラックパッド

  • トラックパッドをタップしたらクリックする設定を有効化
  • カーソル速度を最速に変更

キーボード

キーのリピート・リピート入力認識までの時間を最速化

Dock

普段はDockを見えないように設定(カーソルを合わせると見えるようになる)

Finder

  • 隠しディレクトリの表示
  • 拡張子の表示
  • パスバーの表示

キーボード

  • 英字入力中にスペルを自動変換のチェックを外す
  • 文頭を自動的に大文字にするのチェックを外す

keitaknkeitakn

Homebrew

https://brew.sh/ja/ の内容に従いインストールを進める。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールが成功したがパスが通っていない。

Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
    echo >> /Users/keita/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/keita/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

以下を実行してパスを通す。(keita の部分は当然人によって変わる)

echo >> /Users/keita/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/keita/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
keitaknkeitakn

zshの設定

自分はGitHubに ~/.zshrc をバックアップしているのでそれを参考に移植した。

最近AWSで開発をしていないので aws_completer は必要になったタイミングで入れようと思う。

元々自分の ~/.zshrc には以下のパッケージの設定があったのでこれらを追加。

  • asdf
  • direnv
  • zsh-completions
  • zsh-autosuggestions

最新のドキュメントも確認しながら設定が間違っていないか確認したが自分が前回作成した ~/.zshrc(確か2025年の2末に作った記憶)から特に変更する必要はなく問題なく動作している。

keitaknkeitakn

ランチャーアプリ

最近は Raycast を利用しているのでこれをインストール。

brew install --cask raycast

絵文字

これは過去の自分の投稿だが ⌘ + E で絵文字検索が起動するように設定している。

https://x.com/keita_kn_web/status/1683115938798010369?s=20

Clipboard History

クリップボード履歴からコピーしたテキストを選択できるよくある機能。
別でインストールするよりもRaycastを使ったほうが楽なのでこちらを利用する。

自分の場合は ⌥ + v でクリップボード履歴が起動するようにショートカットを設定した。

より詳しい内容が以下の記事に載っているので参考までに。

https://zenn.dev/ring_belle/articles/raycast-clipboard-history

keitaknkeitakn

VSCode

自分はCursorやJetBrainsのIDE、Windsurfなどを状況によって使い分けているのでVSCodeはメモ書き代わりに利用する程度でメインのエディタではない。

ただ周りにはVSCodeメインのエンジニアも多いので一応最低限環境を整えておく。

基本的にはこのコメントの通り。

https://zenn.dev/link/comments/a8f74cc9e0e496

以下でインストールを実施。

brew install --cask visual-studio-code

あとは拡張機能の一覧を code --list-extensions で出力して、それをテキストなどに保存。

以下のようにコマンドで一括でインストールする。

cat "出力したファイル名" | xargs -n 1 code --install-extension を実行。

あとは settings.json をコピーして終了。

いつの間にか設定をリモートに同期出来る機能が追加されたので、これを有効にしておいた。
今後はこの手順も不要になりインストールしてVSCodeにログインするだけで設定引き継ぎなども終わりになりそう。

keitaknkeitakn

Cursor

以下でインストールを実行。

brew install --cask cursor

こちらもVSCode互換なので cursor --list-extensions というコマンドが使えるのでこれで拡張機能一覧を出力する。

自分の場合は cursor_plugins というファイル名にして保存した。

cat cursor_plugins | xargs -n 1 cursor --install-extension

settings.json も同じようにコピーして移植する。
これでエディタの設定は完了。

次にAPIキーの移植だがこれは方法が分からなかったので手動で移植した。

keitaknkeitakn

Cursorの設定完了後に o3 のモデルを使ってAIに質問をしたところ以下のエラーが発生した。

Request failed with status code 400: {
  "error": {
    "message": "Your organization must be verified to stream this model. Please go to: https://platform.openai.com/settings/organization/general and click on Verify Organization. If you just verified, it can take up to 15 minutes for access to propagate.",
    "type": "invalid_request_error",
    "param": "stream",
    "code": "unsupported_value"
  }
}

調べたところ https://platform.openai.com/settings/organization/generalVerifications Organization を実行すれば良いらしい。

keitaknkeitakn

数十秒後に再リクエストしたら問題なく動作した。

keitaknkeitakn

Windsurf

インストール。

brew install --cask windsurf

特別何か設定している訳ではないので省略。

keitaknkeitakn

asdfの設定

ここからは asdf での設定を進めていく。

最近はTypeScript、Python以外の言語はやっていないので主にその2つをやっていく。
あとTerraformも必要なのでこれも設定していく。

プラグインの追加、確認は以下から行う。

https://github.com/asdf-vm/asdf-plugins

asdf plugin list all でプラグインの一覧を確認可能です。

以下のように grep で目的のプラグインを探すと楽です。

asdf plugin list all | grep nodejs

Node.js

Node.js用のプラグインを追加

asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

インストール可能なNode.jsの一覧を確認

asdf list all nodejs

指定したバージョンをインストール

asdf install nodejs 22.16.0

インストールされているNode.js一覧の確認

asdf list nodejs

全体で使うNode.jsバージョンの設定

asdf set -u nodejs 22.16.0

ターミナルを再起動したら読み込まれるようになる。

node -v
v22.16.0

いつもグルーバルインストールしているパッケージを追加。

npm install -g npm-check-updates
npm install -g vercel
npm install -g @anthropic-ai/claude-code

以下のコマンドを実行してそれぞれ正常にインストールされていることを確認済。

# Vercel
vercel --version
Vercel CLI 42.3.0
42.3.0

# https://www.npmjs.com/package/npm-check-updates
ncu --version
18.0.1

# https://docs.anthropic.com/ja/docs/claude-code/getting-started
claude -v
1.0.6 (Claude Code)
keitaknkeitakn

asdfの続き

Terraform プラグインのインストール

まず以下のコマンドで確認。

asdf plugin list all | grep terraform

以下のように表示されます。

iam-policy-json-to-terraform                https://github.com/carlduevel/asdf-iam-policy-json-to-terraform.git
terraform                                   https://github.com/asdf-community/asdf-hashicorp.git
terraform-docs                              https://github.com/looztra/asdf-terraform-docs.git
terraform-ls                                https://github.com/asdf-community/asdf-hashicorp.git
terraform-lsp                               https://github.com/bartlomiejdanek/asdf-terraform-lsp.git
terraform-validator                         https://github.com/looztra/asdf-terraform-validator.git
terraformer                                 https://github.com/gr1m0h/asdf-terraformer.git

以下を実行してプラグインをインストール。

asdf plugin add terraform https://github.com/asdf-community/asdf-hashicorp.git

インストール可能なTerraformのバージョンを確認

asdf list all terraform

指定したバージョンのTerraformをインストール

asdf install terraform 1.9.8

プロジェクト専用のバージョンとして設定

Terraformは各プロジェクトで専用のバージョンを利用する。

asdf set terraform 1.9.8

以下のように正常にバージョンが指定されているので問題なし。

terraform -v
Terraform v1.9.8
on darwin_arm64
keitaknkeitakn

asdfの続き

Bun

Bun用Pluginの追加

asdf plugin add bun

利用可能なBunのバージョンを閲覧

asdf list all bun

指定したバージョンのインストール

asdf install bun 1.2.15

プロジェクト固有のバージョン設定

asdf set bun 1.2.15
keitaknkeitakn

JetBrains IDE

最近はあまり使っていないが昔から課金していたので(ちなみに今も課金している)インストールしていく。

最近は仕事でも個人開発でもTypeScriptとPythonのどちらかなのでWebStormとPyCharmだけ設定していく。

PyCharm

uvのインストール

ローカルでPythonのバージョン管理およびパッケージのバージョン管理をする為に uv をインストールする。

brew install uv

※ ここから下はuvで管理しているPythonプロジェクトが存在する前提の手順。

Pythonプロジェクトルートで以下を実行。

uv sync --frozen

これでパッケージのインストールやPythonの仮想環境などが出来る。

Pythonのインタープリターを設定する

プロジェクト: プロジェクト名 → Pythonインタープリター → インタープリターの追加 から追加を行う。

既存の選択から .venv/bin/python に指定されたバージョンのPythonインタープリターが存在するので設定を追加する。

最終的には以下のようになっていればOK。

エディタの基本設定

ほとんど変える必要もないが以下の設定だけ行っている。

  • エディター → 一般
    • 保存したファイルの最後にある末尾の空白行を除去
    • ファイルの末尾に改行を挿入する
  • エディター → 一般 → 外観
    • 末尾の空白除去

Solarized Themeのインストール

JetBrains IDEが新UIになってから以前使っていた Solarized Theme のプラグインが使えなくなってしまった。

新しく探してみたところ Solarized Chandrian Themes が新UIに対応しており比較的評価も良さそうなのでこれを使わせてもらうことにする。

バックアップと設定の同期

こちらもいつの間にか設定をクラウド上に同期する仕組みが出来ていたので有効にする。
全てのJetBrains IDEで有効にしておけば問題はなさそう。
これで次回からは移行作業がより簡単になると思われる。

keitaknkeitakn

一旦終了

移行ツールなどを利用していませんが、前回 と違って半日くらいで終わった。

各ツールが進化していてクラウドに設定を同期する仕組みなどが出来ていたことが大きい。
スペックが大幅に向上したので今のところは快適な開発PCとなっている。

このスクラップは4ヶ月前にクローズされました