macOSでのJavaScript/Rubyのセットアップメモ
普段はJavaScript/TypeScriptメインで開発しつつ、Rubyのコードもメンテしているエンジニアの個人的なmacOSのセットアップ・メモです。
開発用アプリ
Warp
ターミナルアプリ:
- Settings > Apperance > Text > Font Size > 14 に変更
Cursor
LLM系の機能が豊富なコードエディタ:
Source Tree
Gitの操作を視覚的に行えるGUIクライアント:
ターミナルで以下を実行
sudo ln -s /Applications/Sourcetree.app/Contents/Resources/stree /usr/local/bin/stree
Docker Desktop for Mac
Docker環境:
生産性向上ツール
CleanShot X
スクリーンショットやスクリーン録画を簡単に行えるツール:
DeepL
翻訳ツール:
Dropbox
クラウドストレージ。ファイル共有やバックアップ用:
(うまくバックアップ取れないので移行検討中です😢)Figma
デザインツール:
Magnet
ウィンドウのショートカット:
Just Focus
ポモドーロタイマー:
Notion Calendar
カレンダー:
Due
スヌーズが強力なリマインダー:
YouTube Music
サイトのPWAをアプリとしてインストールして利用:
TripMode
モバイルテザリング時のデータ通信量制御:
(最新のOSだとうまくExtentionがインストールできない気がするのでサポート質問中)Zoom
オンラインミーティング:
Balance Lock
オーディオの左右のバランスが勝手に切り替わる問題への対応:
開発環境のセットアップ
Oh-my-zsh
ターミナルカスタマイズ:
Homebrew
パッケージマネージャー:
(インストール後に表示されるメッセージのコマンドを実行する)Git
基本設定:
brew install git
git config --global user.name "あなたの名前"
git config --global user.email あなたのメール@example.com
git config --global tag.sort version:refname
git config --global alias.co checkout
除外ファイル設定:
brew install gibo
gibo dump JetBrains macOS Ruby Rails Node > ~/.gitignore
git config --global --add core.excludesfile "$HOME/.gitignore"
Force push設定:
vim ~/.gitconfig
を実行して[alias]に以下を追加。
[alias]
push-f = push --force-with-lease
autojump
ディレクトリ移動の効率化:
brew install autojump
~/.zshrc
に追加:
# autojump
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
HackGen
プログラミング用フォント:
brew install font-hackgen
brew install font-hackgen-nerd
defaults -currentHost write -globalDomain AppleFontSmoothing -int 2
Ruby(rbenv)
Gem設定:
vim ~/.gemrc
をして以下を追加。
install: --no-document
update: --no-document
インストール:
brew install rbenv ruby-build && \
git clone https://github.com/sstephenson/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems && \
echo 'bundler\nrails\npg\npry' > ~/.rbenv/default-gems
環境設定:
vim .zshrc
して以下を追加
# rbenv
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
必要なRubyのインストール:
rbenv install 3.3.6
rbenv global 3.3.6
Node.js のバージョン管理
バージョン管理ツール:
libvips
画像処理ライブラリ:
brew install vips
V8
JavaScriptエンジン:
brew install v8
オプション設定
PostgreSQL
データベース:
brew install postgresql && \
brew services start postgresql
Dockerエイリアス
~/.zshrc
に追加:
# docker
alias d='docker'
alias dc='docker-compose'
alias dm='docker-machine'
Chromedriver
Seleniumテスト用:
brew install --cask chromedriver
Python
基本環境:
brew install python
brew install pipx
pipx install setuptools
vim ~/.zshrc
で以下を追加。
# python
export PATH=$(brew --prefix python)/libexec/bin:$PATH
Ruby開発設定
~/.zshrc
に追加:
# ruby
export PATH=$HOME/.nodebrew/current/bin:$PATH
alias rspec="bundle exec rspec"
alias rake="bundle exec rake"
alias rubocop="bundle exec rubocop"
システム設定
コンピュータ名
システム設定 > 一般 > コンピュータ名
マウス設定
システム設定 > マウス > 軌跡の速さ
Bluetooth音質
sudo defaults write bluetoothaudiod "Enable AptX codec" -bool true && \
sudo defaults write bluetoothaudiod "Enable AAC codec" -bool true
キーボード設定
defaults write -g KeyRepeat -int 2
defaults write -g InitialKeyRepeat -int 12
Only-Switch
メニューバーで重要な表示対象の調整:
brew install only-switch
あとは定期的にアップグレードを実施:
brew upgrade only-switch
データ移行
昔はDropbox同期してたんですが、最近はDropboxがうまく移行してくれないです😢
ということで地道にコピーする方法を取りました💦
- 移行元(古いMac)で、node_modules など不要なディレクトリを削除
- (LLM にスクリプトを作ってもらうのおすすめです)
- 移行元(古いMac)で、必要なフォルダ(e.g. Dropbox) をzip圧縮する
- 移行元(古いMac)をリモートログイン(ssh)ができるようにする
- 移行先(新しいMac)からscpで移行元(古いMac)のzipデータをコピーする
scp 'USER_NAME@IP_ADDREASS:/PATH_TO/xxx.zip'
- 移行先(新しいMac)で
unzip xxx.zip
でダウンロードしたファイルを展開する
ssh の設定移行
ssh用のconfigの設定は移行しやすいようworkディレクトリにシンボリックリンクを貼っています。
ln -s /path_to/key/config ~/.ssh/config
cursor の設定移行
cursorの設定は移行しやすいようworkディレクトリにシンボリックリンクを貼っています。
ln -s /path_to/.cursor ~/.ssh/.cursor
スポットライトのインデックス再構築
sudo mdutil -Ea && sudo mdutil -ai off && sudo mdutil -ai on
Discussion