remrin

remrin

github
email

MacOS で独立した Linux 開発環境を構築する

前言#

Mac OSLinux 開発環境を使用すること自体は難しいことではありません。なぜなら、Mac OS はもともと Unix 系のシステムであり、HomeBrew を使えばほとんどの Linux ソフトウェアパッケージを直接インストールできるからです。仮想マシンを使用しなくても、比較的良好な開発体験が得られます。しかし、特別なニーズがあったり、ホストマシンの開発環境を汚したくない場合は、VMware FusionParallels Desktop、または VirtualBox のような仮想マシンを使用して、完全な Linux ディストリビューションをインストールすることができます。しかし、このような仮想マシンは比較的 重く、起動が遅く、メモリを多く消費するため、私の考慮範囲には含まれません。もちろん、Docker Desktop を使用してさまざまな Linux ディストリビューションのイメージを直接使用したり、Dev Container を作成して完全な開発イメージを作成することもできますが、現在の Docker イメージソースの問題には一貫した解決策がないため、これも考慮範囲外です。最終的に、私は OrbstackMechines を使用して開発環境を構築することに決めました。

Orbstack のインストール#

公式サイトから直接インストーラをダウンロードするか、HomeBrew を使用して直接インストールできます。

brew install orbstack

適切なディストリビューションの選択#

私が使用しているのは Fedora です。
orbstack ソフトウェア
Fedora

開発環境の整備#

  1. 最初のステップはもちろん、清華源 に変更することです。まず、デフォルトのリポジトリをバックアップします。
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
  1. 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
    

    詳細は ドキュメント を参照してください。

  1. VS Code を使用して、先ほど作成した仮想マシンに接続します。
  • プラグイン Remote Development をインストールします。
  • 左側のメニューからリモートリソースマネージャを選択し、SSH+ ボタンをクリックするか、ショートカットキー Shift+Command+P を使用して remote add と入力し、SSH 接続を追加するウィンドウを開きます。
    image
    ssh orb と入力すれば、作成した仮想マシンに接続できます。
    ::: warning
    複数の仮想マシンがある場合、SSH 接続時にどのホストに接続するかを指定する必要があります。指定しない場合はデフォルトのホストに接続されます。例えば、ssh debain@orb はデフォルトユーザーで debain ホストに接続します。例としては、ssh machine@orbssh user@orbssh user@machine@orb などがあります。
    :::
    image
    image

これでホストシステムから隔離された開発環境が整いました。どんなにいじっても心配ありません。WindowsWSL に似ていて、シンプルで便利です。特別なシステム機能を有効にする必要もなく、Orbstack をダウンロードしたらすぐに使用できます。

この記事は Mix Space によって xLog に同期更新されました。元のリンクは https://remrin.dev/posts/linux/dev-env

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。