Open5

Macでの開発環境構築メモ

yo-orangeyo-orange

(Mac初心者です)

既に導入済みのものメモ

  • macOS向けのパッケージ管理ツール Homebrew
    • CLIもGUIツールもこれで管理できるそう
  • Homebrewを使って、インストールしたもの
    • Applite(GUIによるアプリケーション管理)
    • Google Chrome(ブラウザ)
    • vscode(コードエディタ)
    • warp(terminal)
    • notion(メモ用)
    • git
    • python3.12
  • 個別でインストール
yo-orangeyo-orange

Homebrewの使い方

一部、生成AIによる文章生成を活用しているため、間違いが含まれている可能性あり。
実際に使ってみて、修正していきます。

基本的な使い方

  1. パッケージのインストール:

    brew install <パッケージ名>
    
  2. パッケージの更新:

    brew upgrade <パッケージ名>
    
  3. 全パッケージの更新:

    brew upgrade
    
  4. パッケージの削除:

    brew uninstall <パッケージ名>
    

プラクティス

  1. 定期的な更新

    brew update && brew upgrade
    

    を定期的に実行し、Homebrewとパッケージを最新の状態に保ちます。

  2. クリーンアップ

    brew cleanup
    

    を定期的に実行し、古いバージョンのパッケージを削除します。

  3. 依存関係の確認

    brew deps --tree --installed
    

    でインストールされたパッケージの依存関係を確認します。

  4. パッケージ情報の確認

    brew info <パッケージ名>
    

    でパッケージの詳細情報を確認してからインストールします。

  5. タップの活用

    brew tap <リポジトリ>
    

    で公式以外のリポジトリを追加し、より多くのパッケージにアクセスできます。

  6. バージョン管理
    特定のバージョンが必要な場合は、

    brew install <パッケージ名>@<バージョン>
    

    を使用します。

  7. サービス管理

    brew services start/stop/restart <サービス名>
    

    でバックグラウンドサービスを管理します。

  8. 問題診断

    brew doctor
    

    を定期的に実行し、潜在的な問題を診断・修正します。

  9. パッケージのピン留め

    brew pin <パッケージ名>
    

    で特定のパッケージを更新から除外できます。

  10. Brewfileの活用

    brew bundle dump
    

    でインストール済みパッケージのリストを作成し、

    brew bundle
    

    で一括インストールできます。

yo-orangeyo-orange

brew servicesについて

https://github.com/Homebrew/homebrew-services

最初brew servicesを実行した際に、taps配下にインストールされるらしい。

brew services list
==> Tapping homebrew/services
Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-services'...
remote: Enumerating objects: 3318, done.
remote: Counting objects: 100% (464/464), done.
remote: Compressing objects: 100% (142/142), done.
remote: Total 3318 (delta 373), reused 326 (delta 321), pack-reused 2854 (from 1)
Receiving objects: 100% (3318/3318), 952.50 KiB | 650.00 KiB/s, done.
Resolving deltas: 100% (1613/1613), done.
Tapped 2 commands (49 files, 1.1MB).
Warning: No services available to control with `brew services`

なるほど、macOSでのデーモン管理はlaunchctl/lauchdで管理されており、brew servicesはlaunchctlを使用しているそう。

https://ja.wikipedia.org/wiki/Launchd

yo-orangeyo-orange

半年ぐらい前の内容で、更新が必要かも。
Linux VMを動かすため、リソースがキツキツになりそうだったので、現在はアンインストール済。

Macbook Air M3にdocker環境を構築するメモ

AWSのFinchと迷ったけど、ちょうどWASM対応の発表があったのと、VS CodeのRemote機能を使うことを考えて、SUSE Rancher Desktopを導入してみることに。

ガイドに従ってインストール

以下の手順に従って、インストールするのみ。
https://docs.rancherdesktop.io/getting-started/installation#installing-rancher-desktop-on-macos

その前に、念のために、以下のコマンドで一応CPUのアーキテクチャの確認

uname -a

出力

Darwin xxxxxxxxxxxxx 23.4.0 Darwin Kernel Version 23.4.0: Wed Feb 21 21:45:48 PST 2024; root:xnu-10063.101.15~2/RELEASE_ARM64_T8122 arm64

armっぽいな。

Githubの以下から、macOS aarch64をダウンロード

https://github.com/rancher-sandbox/rancher-desktop/releases

Rancher Desktopのインストール自体は完了

Rancher Desktopの初期設定

起動後、今回は↓

  • 最新のK8sのバージョン(中身的にはK3sだそう)を指定
  • Container Engineとして、dockerを選択(VS Code向け)

OKボタンを押すと、画面が遷移して裏で VMやK8s周りのコンポーネントがダウンロード、インストールされる。

ちなみに、~/.rd/bin/配下に各ツールへのシンボリックリンクが追加されている模様(インストールする前に確認していないですが)

ls -l ~/.rd/bin
total 0
lrwxr-xr-x@ 1 xxxxx  staff   80 Mar 20 16:39 docker -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker
lrwxr-xr-x@ 1 xxxxx  staff   87 Mar 20 16:39 docker-buildx -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker-buildx
lrwxr-xr-x@ 1 xxxxx  staff   88 Mar 20 16:39 docker-compose -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker-compose
lrwxr-xr-x@ 1 xxxxx  staff  101 Mar 20 16:39 docker-credential-ecr-login -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker-credential-ecr-login
lrwxr-xr-x@ 1 xxxxx  staff   96 Mar 20 16:39 docker-credential-none -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker-credential-none
lrwxr-xr-x@ 1 xxxxx  staff  103 Mar 20 16:39 docker-credential-osxkeychain -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/docker-credential-osxkeychain
lrwxr-xr-x@ 1 xxxxx  staff   78 Mar 20 16:39 helm -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/helm
lrwxr-xr-x@ 1 xxxxx  staff   81 Mar 20 16:39 kubectl -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/kubectl
lrwxr-xr-x@ 1 xxxxx  staff   81 Mar 20 16:39 kuberlr -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/kuberlr
lrwxr-xr-x@ 1 xxxxx  staff   81 Mar 20 16:39 nerdctl -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/nerdctl
lrwxr-xr-x@ 1 xxxxx  staff   79 Mar 20 16:39 rdctl -> /Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/bin/rdctl

dockerコマンドを試す

  • 前節の手順でインストールしていれば、自動的にPATHに追加されているので、一旦ターミナルを再起動
  • docker versionを叩いてみる
  • docker imagesを叩いてる
  • チュートリアルにあるコマンドを試す(Lancher Desktop)

https://docs.rancherdesktop.io/tutorials/working-with-containers#running-containers

kubernetesを試す

ちなみに、筆者が最後にK8sをまともに触っていた時のバージョンは1.15.0だったので、ついていけるかな

kubectlで挫折。apple silliconに非対応というか。M3にまだ対応していない?

Rancher Desktopからは、namespaceなど操作はできるようなので、k8s自体は動作しているので、kubectl側の問題かなぁと。
一旦、調査はやめます(時間が取れれば、確認してみるかな

アンインストールした8月時点では、kubectlも正常に動作していた

Rancher Desktopを触ってみる

  • とりあえず、色々画面をいじってみる

まとめ

とりあえず、kubectlコマンド以外は問題なさそう
またインストールすることがあれば・・・