🐉

macOSでのJavaScript/Rubyのセットアップメモ

2024/11/09に公開

普段はJavaScript/TypeScriptメインで開発しつつ、Rubyのコードもメンテしているエンジニアの個人的なmacOSのセットアップ・メモです。

開発用アプリ

Warp

ターミナルアプリ:
https://www.warp.dev/

  • Settings > Apperance > Text > Font Size > 14 に変更

Cursor

LLM系の機能が豊富なコードエディタ:
https://www.cursor.com/

Source Tree

Gitの操作を視覚的に行えるGUIクライアント:
https://www.sourcetreeapp.com/

ターミナルで以下を実行

sudo ln -s /Applications/Sourcetree.app/Contents/Resources/stree /usr/local/bin/stree

Docker Desktop for Mac

Docker環境:
https://docs.docker.com/desktop/mac/install/

生産性向上ツール

CleanShot X

スクリーンショットやスクリーン録画を簡単に行えるツール:
https://cleanshot.com/

DeepL

翻訳ツール:
https://www.deepl.com/ja/app/

Dropbox

クラウドストレージ。ファイル共有やバックアップ用:
https://www.dropbox.com/
(うまくバックアップ取れないので移行検討中です😢)

Figma

デザインツール:
https://www.figma.com/downloads/

Magnet

ウィンドウのショートカット:
http://magnet.crowdcafe.com/

Just Focus

ポモドーロタイマー:
https://apps.apple.com/jp/app/just-focus/id1142151959

Notion Calendar

カレンダー:
https://www.notion.so/product/calendar

Due

スヌーズが強力なリマインダー:
https://apps.apple.com/jp/app/due-リマインダー-タイマー-アラーム/id524373870

YouTube Music

サイトのPWAをアプリとしてインストールして利用:
https://music.youtube.com

TripMode

モバイルテザリング時のデータ通信量制御:
https://tripmode.ch/
(最新のOSだとうまくExtentionがインストールできない気がするのでサポート質問中)

Zoom

オンラインミーティング:
https://zoom.us/download

Balance Lock

オーディオの左右のバランスが勝手に切り替わる問題への対応:
https://apps.apple.com/jp/app/balance-lock/id1019371109?mt=12

開発環境のセットアップ

Oh-my-zsh

ターミナルカスタマイズ:
https://github.com/ohmyzsh/ohmyzsh?tab=readme-ov-file#basic-installation

Homebrew

パッケージマネージャー:
https://brew.sh/
(インストール後に表示されるメッセージのコマンドを実行する)

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 のバージョン管理

バージョン管理ツール:
https://volta.sh/

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