LoginSignup
1
2

More than 1 year has passed since last update.

開発環境構築手順書2022

Last updated at Posted at 2022-01-01

macOS 環境構築

最新版はこちらリンク

更新履歴

  • 2022/07/27: Docker-composeでLocalStackの動かし方を追記
  • 2022/06/17: Terminal.appの背景を透明にする設定方法の追記
  • 2022/3/26: Lima テンプレートのリンク修正、一部文言の変更

概要

新規購入したApple silicon版のmacOS上で開発環境を整えるための手順書

前提

コマンドは特別な明記がない限り、一行ずつ実行していく。

手順

oh-my-zsh

  • 1. terminal.appを起動
  • 2. oh-my-zsh本体のインストール
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Homebrew

  • 1. terminal.appを起動
  • 2. HomeBrew本体のインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

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

eval "$(/opt/homebrew/bin/brew shellenv)"
  • 3. ソフトウェアをインストール(不要なモノは無視すること)
brew install --cask clipy
brew install --cask iterm2
brew install --cask visual-studio-code
brew install --cask jetbrains-toolbox
brew install --cask alfred
brew install --cask fig
brew install vim
brew install tig
brew install arp-scan
brew install imagemagick

brew install zsh-syntax-highlighting
echo '# zsh-syntax-highlighting' >> ~/.zshrc
echo 'source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc

brew install zsh-completions
echo '# zsh-completions' >> ~/.zshrc
echo 'if type brew &>/dev/null; then' >> ~/.zshrc
echo '  FPATH=$(brew --prefix)/share/zsh-completions:$FPATH' >> ~/.zshrc
echo '  autoload -Uz compinit' >> ~/.zshrc
echo '  compinit' >> ~/.zshrc
echo 'fi' >> ~/.zshrc

brew install zsh-autosuggestions
echo '# zsh-autosuggestions' >> ~/.zshrc
echo 'source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh' >> ~/.zshrc

source ~/.zshrc
rm -f ~/.zcompdump; compinit

Docker(有償回避)

  • 1. Dockerに必要なソフトウェアのインストール
brew install lima docker docker-compose
  • 2. limaのテンプレートをダウンロード
curl -o default.yaml https://raw.githubusercontent.com/lima-vm/lima/master/examples/default.yaml
  • 2. テンプレートを編集
# ===================================================================== #
# BASIC CONFIGURATION
# ===================================================================== #

# Arch: "default", "x86_64", "aarch64".
# "default" corresponds to the host architecture.
arch: "null" # ← defaultをx86_64に書き換える

....

# writableをtrueにすると読み書きができる。
# デフォルトにも書いてある通り、「~」や「/」のみを指定してwritableをtrueにはしないこと。非常に危険。
mounts:
  - location: "~"
    writable: false
  - location: "/tmp/lima"
    writable: true
  - location: "~/work"
    writable: true
  - location: "~/private"
    writable: true
  • 3. 仮想環境を新規作成
limactl start default.yaml
# Proceed with the current configuration を選択
# INFO[0036] READY. Run `limactl shell ...まで待機
  • 4. 仮想環境が動いていることを確認し、インスタンス名を控えておく。

インスタンス名:

limactl list
# NAME       STATUS     SSH                ARCH      DIR
# default    Running    127.0.0.1:60022    x86_64    /Users/[username]/.lima/default
# インスタンス名は、 NAME列の名前
  • 5. Dockerホストの設定
echo  "export DOCKER_HOST='tcp://127.0.0.1:2375'" >> ~/.zshrc
source ~/.zshrc
  • 6. 仮想環境にDockerをインストール
curl -fsSL https://get.docker.com | limactl shell [インスタンス名]
  • 7. 仮想環境のユーザー名を控える

ユーザー名:

limactl shell [instance名] whoami
  • 8. dockerグループに追加
limactl shell [instance名] sudo gpasswd -a [ユーザー名] docker
  • 9. 仮想環境を再起動
limactl stop [instance名] ; sleep 5; limactl start [instance名]
  • 10. 仮想環境のDockerを確認
limactl shell [instance名] docker version
  • 11. dockerのdeamon.jsonを作成
limactl shell [instance名] sudo vim /etc/docker/daemon.json
  • 12. 下記を追記し、保存
{"hosts": ["tcp://127.0.0.1:2375", "unix:///var/run/docker.sock"]}
  • 13. dockerサービスのoverride.confを作成
limactl shell [instance名] sudo mkdir -p /etc/systemd/system/docker.service.d/
limactl shell [instance名] sudo vim /etc/systemd/system/docker.service.d/override.conf
  • 14. 下記を追記し、保存
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
  • 15. dockerサービスを再起動
limactl shell [instance名] sudo systemctl daemon-reload
limactl shell [instance名] sudo systemctl restart docker.service
  • 16. dockerの動作確認
docker version
# macOS側
# Client: Docker Engine - Community
# ....
#  OS/Arch:           darwin/arm64
# ...

# Lima側
# Server: Docker Engine - Community
#  Engine:
# ...
#   OS/Arch:          linux/amd64
# ...
  • 17. Opensearch(or Elasticsearchの為に設定変更
 limactl shell [instance名] sudo sysctl -w vm.max_map_count=262144

Docker-compose - LocalStack

  • docker-composeファイル

下記ファイルを作成後、このファイルがあるディレクトリで「docker-compose up」

version: '3'

services:
  localstack:
    image: localstack/localstack:latest
    ports:
      - "127.0.0.1:4566:4566"
      - "127.0.0.1:4510-4559:4510-4559"
      - "127.0.0.1:443:443"

  • localstackの動作確認

何かしらのAWSコマンドでエンドポイントをローカルホストにすればOK。
サービスによってポート番号が異なるので各自調べていただく。

aws s3 ls --endpoint-url=http://localhost:4566
  • localstackの状態を取得
curl -s http://localhost:4566/health | jq

nodebrew

  • 1. terminal.appを起動
  • 2. nodebrew本体のインストール
brew install nodebrew
mkdir -p ~/.nodebrew/src
echo '# Nodebrew' >> ~/.zshrc
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
  • 3. NodeJSの最新版を控える

NodeJS Ver:

nodebrew ls-remote
# example) v17.2.0
  • 4. NodeJSの最新版をインストール
nodebrew isntall [NodeJS Ver]
  • 5. NodeJSのバージョン確認
node -v

SDKMAN

  • 1. terminal.appを起動
  • 2. SDKMAN本体のインストール
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

Java

  • 1. Amazon Correttoの最新版を控える

最新版のバージョン:

sdk list java | grep amzn
#example) 17.0.1.12.1-amzn
  • 2. Amazon Correttoの最新版をインストール
sdk install java [最新版のバージョン] 
# globalにするのかを聞かれたら Y を入力。
# 聞かれていない場合は、下記コマンドを実行
sdk default java [最新版のバージョン]
  • 3. Amazon Correttoのバージョンを確認
java -version

Sbt

  • 1. Sbtの最新版を控える

最新版のバージョン:

sdk list sbt
#example) 1.5.7
  • 2. Sbtの最新版をインストール
sdk install sbt [最新版のバージョン] 
# globalにするのかを聞かれたら Y を入力。
# 聞かれていない場合は、下記コマンドを実行
sdk default sbt [最新版のバージョン]
  • 3. Sbtのバージョンを確認
sbt about

Scala

  • 1. Scalaの最新版を控える
    最新版のバージョン:
sdk list scala
#example) 3.1.0
  • 2. Scalaの最新版をインストール
sdk install scala [最新版のバージョン] 
# globalにするのかを聞かれたら Y を入力。
# 聞かれていない場合は、下記コマンドを実行
sdk default scala [最新版のバージョン]
  • 3. Scalaのバージョンを確認
scala -version

Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
echo '# Rust' >> ~/.zshrc
echo 'source $HOME/.cargo/env' >> ~/.zshrc

補足

ARP-SCAN

sudo arp-scan -I [ifconfigのインターフェイス] -l
# ex) sudo arp-scan -I en0 -l

システム設定

  • キー入力の連打を有効化させる
defaults write -g ApplePressAndHoldEnabled -bool false

limaの基本コマンド

limactl ls # lima vm 一覧

limactl start xxxx(or xxxxx.yml) vm 起動

limactl stop xxxx vm 停止

limactl delete xxxx 削除

ecrの認証情報の取得

aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin [accountID].dkr.ecr.ap-northeast-1.amazonaws.com

iOSバックアップ - NAS 間 シンボリックリンク

ln -s /Volumes/BackUps/Buckup /Users/${USERNAME}/Library/Application\ Support/MobileSync 

Terminal.appの背景を透明にする方法

  1. Terminal.appの環境設定→「プロファイル」タブを選択
  2. 「カラーとエフェクト」をクリック
  3. 出てきたウィンドウの「不透明度」を50~60%に、「ブラー」を0%にする
  4. Terminal.appを再起動

Apple Developerの証明リスト出力

security -v find-identity

参考文献

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2