Open6

Mac環境構築2024

Otsuka NoboruOtsuka Noboru

Homebrewのインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# set path
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/otsuka/.zprofile
# eval "$(/opt/homebrew/bin/brew shellenv)"
Otsuka NoboruOtsuka Noboru

fishのインストール・設定

# install
brew install fish

/etc/shellsに確認したfishのパスを追加します。

sudo vi /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/opt/homebrew/bin/fish

デフォルトのシェルを変更します。

chsh -s /opt/homebrew/bin/fish
Otsuka NoboruOtsuka Noboru

anyenv および nodenvのインストール

# homebrew経由でインストールする
brew install anyenv

# anyenvを初期化する
anyenv init

# 以下の案内が出るのでシェルの設定に記載する
# Load anyenv automatically by adding
# the following to ~/.config/fish/config.fish:

status --is-interactive; and source (anyenv init -|psub)

echo 'eval "$(anyenv init -)"' >> ~/.zshrc

# ターミナルをリロードするとマニフェストディレクトリがないと案内される
exec $SHELL -l

# ANYENV_DEFINITION_ROOT(/Users/whoami/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
# > anyenv install --init

# マニュフェストディレクトリを作る
anyenv install --init

# インストールするディレクトリのパスを確認して続ける
# Manifest directory doesn't exist: /Users/username/.config/anyenv/anyenv-install
# Do you want to checkout ? [y/N]: y
# 以下、インストール内容なので省略

# ターミナルを再起動して問題がないことを確認する
exec $SHELL -l
# nodenvをインストールする
anyenv install nodenv

# インストールが終わったら、ターミナルを再起動する
exec $SHELL -l

# envコマンドでanyenvやnodenvのパスやルート情報が確認できる
env

# PATH=/Users/username/.anyenv/envs/nodenv/shims:/Users/username/.anyenv/envs/nodenv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/sbin:/Users/username/.nodebrew/current/bin
# NODENV_ROOT=/Users/username/.anyenv/envs/nodenv
# NODENV_SHELL=zsh

anyenv の拡張機能を追加する

https://github.com/anyenv/anyenv#plugins
https://github.com/znz/anyenv-update

mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
anyenv install --update

nodenv のバージョン自動切り替えの導入と設定
上記の設定でもプロジェクト内のバージョン指定をしたファイルがあれば、Node.js のバージョンは切り替えられる
ただ、 package.json の engines で指定したバージョンを切り替えの対象にするためには以下のプラグインをインストールする必要がある

https://github.com/nodenv/nodenv-package-json-engine

インストールは以下のコマンドになる

git clone https://github.com/nodenv/nodenv-package-json-engine.git $(nodenv root)/plugins/nodenv-package-json-engine

node.jsのインストール

nodenv install 22.6.0
nodenv global 22.6.0

pyenvのインストール

anyenv install pyenv
exec $SHELL -l
pyenv install 3.12.5
pyenv global 3.12.5
pip install pipenv
Otsuka NoboruOtsuka Noboru

各種開発用ツールのインストール

tigのインストール

brew install tig

tmuxのインストール

brew install tmux

aws-cliのインストール

brew install awscli

postgresqlのインストール

brew install postgresql

jqのインストール

brew install jq
Otsuka NoboruOtsuka Noboru

ssh keyの作成

ssh-keygen -t ed25519 -C "your_email@example.com"

ssh-agentへの登録

ssh-add  <秘密鍵のファイル名>
Otsuka NoboruOtsuka Noboru

vscodeのユーザー設定

下記を参考にした。

https://qiita.com/hogepiyo33/items/bdc7076e03839b7366de

{
    "vim.useSystemClipboard": true,
    "vim.handleKeys": {
        //以下はVimのショートカットを利用
        "<C-d>": true,  //下方向へのカーソル移動 ※上方向へのカーソル移動(Ctrl+u)はデフォルト設定でも動作
        //以下はVimではなく、Windows側のショートカット
        "<C-c>": false, //コピー
        "<C-v>": false, //貼り付け ※VisualBlockモードはCtrl+Qで行う
        "<C-x>": false, //切り取り
        "<C-f>": false, //検索
        "<C-a>": false, //全選択
        "<C-p>": false  //ファイル検索
    },
    "vim.insertModeKeyBindings": [
        {
            "before": [
                "j",
                "j"
            ],
            "after": [
                "<Esc>"
            ]
        }
    ],
    "vim.visualModeKeyBindingsNonRecursive": [
        {
            "before": [
                "p",
            ],
            "after": [
                "\"",
                "_",
                "d",
                "P",
            ]
        }
    ]
}