Open25

環境構築2022

Prog24Prog24

私物MBPを初期化したので、環境構築をメモする

  • node環境を整える
  • Docker環境を整える
  • アプリのインストールリスト
    • 定期的に更新していく
  • zsh設定
    • 定期的に更新していく
Prog24Prog24

✅ node環境を整える

  • anyenv + nodenvで整える
Prog24Prog24

まずはhomebrewをインストールする

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ brew -v
Homebrew 3.4.9
Homebrew/homebrew-core (git revision 23f83804493; last commit 2022-05-02)
Prog24Prog24

anyenvのインストール

brew install anyenv
anyenv init
anyenv install --init
echo 'eval "$(anyenv init -)"' >> ~/.zshrc
$ anyenv -v
anyenv 1.1.4
Prog24Prog24

nodenvのインストール&nodeのインストール

anyenv install nodenv
nodenv install 16.15.0
nodenv global 16.15.0
$ node -v
v16.15.0
Prog24Prog24

yarnが欲しくなると思うので、yarnをインストール

npm i -g yarn
Prog24Prog24

取り敢えず、nodeの動く状態にはできた🎉
yarnのインストール方法だけ何がいいのか分からない...

Prog24Prog24

プロジェクトに .node-version が存在する場合、 nodenv install で対象のnodeをインストール可能だが、
その際に nodenv-yarn-install は実行されていなさそう。
nodenv install {version} このコマンドの時には問題なく対応するyarnがインストールされている。

nodenv install でも対応するyarnがインストールされるようになってほしい...

Prog24Prog24

✅ Docker環境を整える

  • lima + Docker環境にしたい
Prog24Prog24

Limaのインストール

homebrewを使用してインストール

brew install lima

Limaで動かすDockerのVMのyamlを作成。
リポジトリのexamplesに入っているdocker.yamlをベースに使用。
https://github.com/lima-vm/lima/blob/master/examples/docker.yaml

このファイルのmount部分を以下に修正し

mounts:
- location: "~/workspace"
  writable: true

下記を追記。

cpus: 2
memory: "8GiB"
disk: "100GiB"

ssh:
  localPort: 60006
  loadDotSSHPubKeys: true

上記のyamlファイルを ~/workspace/docker/docker.yaml に置いた。

Limaで上記のVMを起動

lima start ~/workspace/docker/docker.yaml

DOCKER_HOSTを指定するために、下記を.zshrcに追記

export DOCKER_HOST=unix://$HOME/.lima/lima_sample/sock/docker.sock

docker CLIのインストール

brew install docker
brew install docker-compose

※docker-composeではなく、docker composeをインストールしようと思ったが、公式からバイナリでのインストール方法が見当たらなかったので、見つけ次第インストールし直す

Prog24Prog24

上記でDockerは動くようになった🎉
Limaの使い方などは別途調べる。パフォーマンスについてとか、他のものとの違いなど。

LimaとVirtualBoxなどの違いもイマイチ分かっていない(brewでインストールできて楽に使えるとかくらいなのか?...)

Prog24Prog24
Prog24Prog24

zshの設定を考える

今まではfishをなんとなくで使っていたが、zshを使いたい気分になったので、色々調べながらzshrcを設定していきたい

Prog24Prog24

取り敢えずの.zshrc

# git
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () { vcs_info }

# プロンプトカスタマイズ
PROMPT='[%B%F{red}%f%b%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f
%F{yellow}$%f '

# anyenv
eval "$(anyenv init -)"

# lima
export DOCKER_HOST=unix://$HOME/.lima/docker/sock/docker.sock
Prog24Prog24

色々更新

typeset -U path PATH

path=(
  /opt/homebrew/bin(N-/)
  /opt/homebrew/sbin(N-/)
  /usr/bin
  /usr/sbin
  /bin
  /sbin
  /usr/local/bin(N-/)
  /usr/local/sbin(N-/)
  /Library/Apple/usr/bin
)

# git補完設定
fpath=(
  ${HOME}/.zsh/completions
  ${fpath}
)
autoload -Uz compinit
compinit

# alias
alias ls='ls -G'

# git
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () { vcs_info }

# プロンプトカスタマイズ
PROMPT='[%B%F{red}%f%b%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f
%F{yellow}$%f '

# anyenv
eval "$(anyenv init -)"

# lima
export DOCKER_HOST=unix://$HOME/.lima/docker/sock/docker.sock