2024年11月30日土曜日

macOS で nexe を使って devcontainers/cli をシングルバイナリにする

前提

  • OS: macOS Sequoia 15.1.1 (24B91)
  • Homebrew インストール済み

前の macOS セットアップ記事の続きから。

Node.js のインストール

brew install nvm
mkdir ~/.nvm
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion
nvm install v21.7.3

devcontainers/cli のクローン

git clone --depth 1 -b v0.72.0 https://github.com/devcontainers/cli

ビルド

cd cli
yarn
yarn compile-prod
npx nexe --python=/usr/bin/python3 --loglevel="verbose" -i ./devcontainer.js --make="-j8" -r="scripts/updateUID.Dockerfile" -t -b -o ../dist/devcontainer-darwin-arm64-v0.72.0

node 自体に手を入れるらしく、初回に node 自体のビルドが走ります。

マシンスペックによりますが、初回ビルドは 1 時間以上かかることもあるので気長に待ちましょう。

ビルド後の node は保存されるので、 2 回目以降は一瞬です。

ファイルを埋め込んでアクセスしたいなどが無ければ Node 自体の Single Binary Application の仕組みを使う方ががおすすめです(これはこれで新しい node じゃないと無理ですが…)

以上。

おまけ

上記手順でシングルバイナリにしたモノを、以下リポジトリで配布しています。

mikoto2000/devcontainers-cli: Distributing a single executable binary for devcontainer/cli.

参考資料

変更履歴

日付 内容
2024/11/30-1 新規作成
2024/11/30-2 nexe の注意点について追記

macOS で Nodejs をビルドする

前提

  • OS: macOS Sequoia 15.1.1 (24B91)
  • Homebrew インストール済み

前回の macOS セットアップ記事の続きから。

Nodejs のクローン

git clone --depth 1 -b v23.3.0 https://github.com/nodejs/node

ビルド

cd node
./configure
make -j8

以上。

参考資料

2024年11月29日金曜日

M1 mac mini を買ったのでセットアップしていく

この記事はなに?

作っているアプリの macOS での動作確認を行うために M1 Mac を買った。

それのセットアップ記録。

やりたいのは以下。

  • SSH 接続で作業
    • ホスト名で接続したい
  • Docker を使いたい

前提

インストール・初回起動時のセットアップは省略。

  • OS: macOS Sequoia 15.1.1(24B91)

SSH 接続

SSH 接続の有効化

  1. システム設定 -> 一般 -> 共有 -> リモートログイン を ON にする

ホスト名変更

システム設定 -> 一般 -> 共有 -> ローカルホスト名 を変更

ホスト名で接続できるようにする

Windows のネットワーク共有を ON にする。

これで、 Windows の SSH から macOS へホスト名で SSH 接続できるようになった。

Docker のインストール

※ Docker Desktop は SSH 接続のみで使うのに向いていなかったので abiosoft/colima: Container runtimes on macOS (and Linux) with minimal setup を使う事とした。

Applie silicon の Mac - Mac に Docker Desktop をインストール — Docker-docs-ja 24.0 ドキュメント の手順通りに実施。

Rosetta 2 のインストール

macOS のターミナルで、以下コマンドを実行。(SSH 越しにやったらエラーになった…)

softwareupdate --install-rosetta

Docker Desktop for Mac のダウンロード

Get Docker | Docker Docs から Docker Desktop for Mac -> Docker Desktop for Mac with Apple silicon を選択。

docker.dmg がダウンロードされるので、ダブルクリック -> Docker のアイコンを Applications のアイコンにドラッグアンドドロップ。

そのまま Applications のアイコンをダブルクリック -> Docker のアイコンをダブルクリック。

Accept したり、 Use recommended settings を選んだり、 Docker にログインしたりして完了。

Colima のインストール

brew install colima
brew install docker

これで、 colima start 後に docker コマンドが使えるようになる。

その他開発ツールのインストール・設定

GitHub

GitHub CLI のインストール

brew install gh

GitHub に公開鍵を登録

gh auth login

表示されたガイド通りに進めれば OK.

Vim

インストール

brew install vim

dotfile 取得

git clone --recurse git@github.com:mikoto2000/dotvim ~/.vim

参考資料

変更履歴

日付 修正内容
2024/11/29-1 新規作成
2024/11/29-2 「その他開発ツールのインストール・設定」を追加
2024/12/03-1 Docker Desktop for Mac を止めて Colima にしたことを追記