前言#
Mac OS
でLinux
開発環境を使用すること自体は難しいことではありません。なぜなら、Mac OS
はもともとUnix
系のシステムであり、HomeBrew
を使えばほとんどのLinux
ソフトウェアパッケージを直接インストールできるからです。仮想マシンを使用しなくても、比較的良好な開発体験が得られます。しかし、特別なニーズがあったり、ホストマシンの開発環境を汚したくない場合は、VMware Fusion
、Parallels Desktop
、またはVirtualBox
のような仮想マシンを使用して、完全な Linux ディストリビューションをインストールすることができます。しかし、このような仮想マシンは比較的重く
、起動が遅く、メモリを多く消費するため、私の考慮範囲には含まれません。もちろん、Docker Desktop
を使用してさまざまなLinux
ディストリビューションのイメージを直接使用したり、Dev Container
を作成して完全な開発イメージを作成することもできますが、現在のDocker
イメージソースの問題には一貫した解決策がないため、これも考慮範囲外です。最終的に、私はOrbstack
のMechines
を使用して開発環境を構築することに決めました。
Orbstack
のインストール#
公式サイトから直接インストーラをダウンロードするか、HomeBrew
を使用して直接インストールできます。
brew install orbstack
適切なディストリビューションの選択#
私が使用しているのは Fedora
です。
開発環境の整備#
- 最初のステップはもちろん、清華源 に変更することです。まず、デフォルトのリポジトリをバックアップします。
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup
その後、デフォルトのリポジトリを直接置き換えます。
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora|g' \
-i.bak \
/etc/yum.repos.d/fedora.repo \
/etc/yum.repos.d/fedora-modular.repo \
/etc/yum.repos.d/fedora-updates.repo \
/etc/yum.repos.d/fedora-updates-modular.repo
手動で変更したい場合は、
-
fedora リポジトリ (/etc/yum.repos.d/fedora.repo)
[fedora] name=Fedora $releasever - $basearch failovermethod=priority baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/ metadata_expire=28d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch skip_if_unavailable=False
-
updates リポジトリ (/etc/yum.repos.d/fedora-updates.repo)
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Everything/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
-
fedora-modular リポジトリ (/etc/yum.repos.d/fedora-modular.repo)
[fedora-modular] name=Fedora Modular $releasever - $basearch failovermethod=priority baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Modular/$basearch/os/ enabled=1 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch skip_if_unavailable=False
-
updates-modular リポジトリ (/etc/yum.repos.d/fedora-updates-modular.repo)
[updates-modular]
name=Fedora Modular $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Modular/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
```
-
キャッシュをクリアします。
sudo dnf clean all sudo dnf makecache
- パッケージを更新します。
```bash
sudo dnf update
```
---
2. `zsh` をデフォルトの `bash` に置き換えます。
- `git` と `zsh` をインストールします。
```bash
sudo dnf install git zsh
oh my zsh
をインストールします。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
よく使う
oh my zsh
プラグインをインストールします。- 自動提案
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
- ハイライト表示
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
```
- 自動補完
``` bash
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete
```
-
zsh
設定ファイルを変更し、plugins を次のように変更します。vim ~/.zshrc
plugins=( git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete
)
- 変更を適用します。
```bash
source ~/.zshrc
NVM
を使用してNodeJS
バージョンを管理します。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
使用方法
$ nvm use 16 Now using node v16.9.1 (npm v7.21.1) $ node -v v16.9.1 $ nvm use 14 Now using node v14.18.0 (npm v6.14.15) $ node -v v14.18.0 $ nvm install 12 Now using node v12.22.6 (npm v6.14.5) $ node -v v12.22.6
詳細は ドキュメント を参照してください。
VS Code
を使用して、先ほど作成した仮想マシンに接続します。
- プラグイン
Remote Development
をインストールします。 - 左側のメニューからリモートリソースマネージャを選択し、
SSH
の+
ボタンをクリックするか、ショートカットキーShift
+Command
+P
を使用してremote add
と入力し、SSH
接続を追加するウィンドウを開きます。
ssh orb
と入力すれば、作成した仮想マシンに接続できます。
::: warning
複数の仮想マシンがある場合、SSH
接続時にどのホストに接続するかを指定する必要があります。指定しない場合はデフォルトのホストに接続されます。例えば、ssh debain@orb
はデフォルトユーザーでdebain
ホストに接続します。例としては、ssh machine@orb
、ssh user@orb
、ssh user@machine@orb
などがあります。
:::
これでホストシステムから隔離された開発環境が整いました。どんなにいじっても心配ありません。
Windows
のWSL
に似ていて、シンプルで便利です。特別なシステム機能を有効にする必要もなく、Orbstack
をダウンロードしたらすぐに使用できます。
この記事は Mix Space によって xLog に同期更新されました。元のリンクは https://remrin.dev/posts/linux/dev-env