T-CREATOR

Deno のインストール完全ガイド:macOS/Linux/Windows とバージョン固定術

Deno のインストール完全ガイド:macOS/Linux/Windows とバージョン固定術

Deno を使い始めたいけれど、「どの方法でインストールすればいいの?」「バージョンを固定する方法は?」と悩んでいませんか。本記事では、macOS・Linux・Windows それぞれの環境における Deno のインストール手順を網羅的に解説します。さらに、チーム開発で重要となるバージョン固定術についても、実践的な方法をお伝えしますね。

Deno の環境構築は想像以上にシンプルですが、OS ごとに最適な方法が異なります。この記事を読めば、あなたの環境に最適なインストール方法が見つかり、すぐに Deno の開発を始められるでしょう。

背景

Deno の普及と環境構築の必要性

Deno は 2020 年にリリースされて以来、Node.js の課題を解決する次世代 JavaScript/TypeScript ランタイムとして注目を集めています。TypeScript のネイティブサポート、セキュアなデフォルト設定、標準ライブラリの充実など、現代的な開発体験を提供してくれるのが魅力です。

2025 年現在、Deno は Web 開発だけでなく、CLI ツール、API サーバー、エッジコンピューティングなど、さまざまな用途で採用が進んでいますね。特に Deno Deploy や Fresh フレームワークの登場により、プロダクション環境での利用も増加傾向にあります。

バージョン管理の重要性

開発プロジェクトが複数ある場合、各プロジェクトで異なる Deno バージョンを使用することがあります。また、チーム開発では全メンバーが同じバージョンを使用することで、「私の環境では動くのに...」という問題を防げるでしょう。

以下の図は、Deno のインストールから実行までの基本的な流れを示しています。

mermaidflowchart TD
    start["開発者"] -->|環境選択| os["OS 判定<br/>macOS/Linux/Windows"]
    os -->|インストール| install["Deno インストール"]
    install --> verify["バージョン確認<br/>deno --version"]
    verify --> project["プロジェクト開始"]
    project --> version_mgmt["バージョン管理<br/>asdf/.tool-versions"]
    version_mgmt --> dev["開発作業"]

この図から分かるように、OS に応じた適切なインストール方法を選び、バージョン管理を設定することが、スムーズな開発の第一歩となります。

課題

OS ごとのインストール方法の違い

Deno は macOS、Linux、Windows の主要な OS すべてをサポートしていますが、それぞれ推奨されるインストール方法が異なります。

#OS主なインストール方法特徴
1macOSHomebrew / curl / asdfパッケージマネージャーが充実
2Linuxcurl / apt・yum / asdfディストリビューションにより異なる
3WindowsPowerShell / Scoop / Chocolatey管理者権限の有無で選択肢が変わる

初心者の方は、どの方法が自分の環境に適しているのか判断が難しいでしょう。

バージョン固定の難しさ

システム全体で単一のバージョンをインストールする方法では、以下のような問題が発生します。

プロジェクト A では Deno 1.40.0 を使用しているのに、プロジェクト B では最新の 1.43.0 が必要な場合、どう管理すればいいのでしょうか。また、CI/CD 環境でも同じバージョンを再現する必要があります。

複数プロジェクトでの環境管理

以下の図は、バージョン管理がない場合とある場合の違いを示しています。

mermaidflowchart LR
    subgraph without["バージョン管理なし"]
        dev1["開発者"] --> sys_deno["システム共通<br/>Deno 1.43.0"]
        sys_deno --> proj1["プロジェクト A<br/>要求: 1.40.0<br/>★エラー発生"]
        sys_deno --> proj2["プロジェクト B<br/>要求: 1.43.0<br/>★動作OK"]
    end

    subgraph with["バージョン管理あり"]
        dev2["開発者"] --> version_tool["バージョン管理ツール<br/>asdf/dvm"]
        version_tool --> proj3["プロジェクト A<br/>1.40.0<br/>★動作OK"]
        version_tool --> proj4["プロジェクト B<br/>1.43.0<br/>★動作OK"]
    end

適切なバージョン管理ツールを使用することで、プロジェクトごとに異なるバージョンを使い分けられるようになります。

解決策

インストール方法の選び方

Deno のインストール方法は大きく分けて以下の 3 つのアプローチがあります。

#方法メリットデメリット推奨用途
1公式スクリプト(curl/PowerShell)シンプル、最新版を即座に取得バージョン管理が手動個人プロジェクト、初回試用
2パッケージマネージャーOS との統合が良好バージョンが若干古い場合ありシステム全体での利用
3バージョン管理ツールプロジェクトごとに管理可能初期設定がやや複雑チーム開発、複数プロジェクト

初めて Deno を試す場合は公式スクリプトが手軽ですが、本格的な開発ではバージョン管理ツールの導入をお勧めします。

バージョン固定ツールの比較

Deno のバージョン固定には、主に以下のツールが利用されています。

#ツール名対応 OS設定ファイル特徴
1asdfmacOS / Linux.tool-versions多言語対応、最も汎用的
2dvmすべて.dvmrcDeno 専用、軽量
3DockerすべてDockerfile完全な環境分離

asdf は Deno だけでなく Node.js や Python など複数の言語バージョンを管理できるため、チーム開発で特に人気があります。

推奨インストールフロー

以下の図は、あなたの状況に応じた推奨インストールフローを示しています。

mermaidflowchart TD
    start["Deno インストール開始"] --> question1{"チーム開発?"}
    question1 -->|はい| use_asdf["asdf を使用<br/>バージョン固定"]
    question1 -->|いいえ| question2{"複数プロジェクト?"}

    question2 -->|はい| use_dvm["dvm または asdf<br/>プロジェクト別管理"]
    question2 -->|いいえ| question3{"OS は?"}

    question3 -->|macOS| brew["Homebrew 推奨"]
    question3 -->|Linux| curl_linux["curl スクリプト"]
    question3 -->|Windows| pwsh["PowerShell スクリプト"]

    use_asdf --> setup_complete["セットアップ完了"]
    use_dvm --> setup_complete
    brew --> setup_complete
    curl_linux --> setup_complete
    pwsh --> setup_complete

それでは、実際のインストール手順を OS ごとに見ていきましょう。

具体例

macOS でのインストール

方法 1:Homebrew を使用

Homebrew は macOS で最も人気のあるパッケージマネージャーです。以下のコマンドでインストールできます。

bash# Homebrew で Deno をインストール
brew install deno

インストール後、バージョンを確認してみましょう。

bash# バージョン確認
deno --version

正常にインストールされていれば、以下のような出力が表示されます。

plaintextdeno 1.43.0 (release, aarch64-apple-darwin)
v8 12.4.254.20
typescript 5.4.5

Homebrew の利点は、brew upgrade deno で簡単にアップデートできることです。

方法 2:公式インストールスクリプト

curl を使った公式スクリプトは、Homebrew を使わない場合に便利でしょう。

bash# curl でインストールスクリプトを実行
curl -fsSL https://deno.land/x/install/install.sh | sh

このスクリプトは $HOME​/​.deno にバイナリをインストールします。

インストール後、PATH を設定する必要があります。

bash# .zshrc または .bashrc に追加
export DENO_INSTALL="$HOME/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"

設定を反映させましょう。

bash# シェル設定を再読み込み
source ~/.zshrc  # zsh の場合
# または
source ~/.bashrc  # bash の場合

これで Deno が使えるようになりますね。

方法 3:asdf によるバージョン管理

asdf は複数のバージョンを管理できる強力なツールです。まず asdf 自体をインストールします。

bash# Homebrew で asdf をインストール
brew install asdf

asdf のセットアップを行います。

bash# .zshrc に asdf の設定を追加
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ~/.zshrc
source ~/.zshrc

次に、asdf の Deno プラグインをインストールしましょう。

bash# Deno プラグインを追加
asdf plugin add deno https://github.com/asdf-community/asdf-deno.git

利用可能なバージョンを確認します。

bash# インストール可能なバージョン一覧を表示
asdf list all deno

特定のバージョンをインストールしてみましょう。

bash# Deno 1.43.0 をインストール
asdf install deno 1.43.0

グローバルのデフォルトバージョンを設定します。

bash# システム全体で使用するバージョンを設定
asdf global deno 1.43.0

プロジェクトごとに異なるバージョンを使う場合は、プロジェクトディレクトリで以下を実行します。

bash# プロジェクトディレクトリに移動
cd /path/to/your/project

# このプロジェクト専用のバージョンを設定
asdf local deno 1.40.0

これにより、.tool-versions ファイルが作成されます。

plaintext# .tool-versions の内容例
deno 1.40.0

チームメンバーも同じファイルを使用することで、全員が同じバージョンで開発できます。

Linux でのインストール

方法 1:公式インストールスクリプト

Linux でも macOS と同様に curl スクリプトが使えます。

bash# Linux 用インストールスクリプト
curl -fsSL https://deno.land/x/install/install.sh | sh

PATH の設定を行います。

bash# .bashrc または .zshrc に追加
export DENO_INSTALL="$HOME/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"

設定を反映させましょう。

bash# 設定を再読み込み
source ~/.bashrc

方法 2:パッケージマネージャー(Ubuntu/Debian)

Ubuntu や Debian 系のディストリビューションでは、snap を使う方法もあります。

bash# snap で Deno をインストール
sudo snap install deno

ただし、snap 版は最新バージョンへの更新が遅れる場合があるため、注意が必要です。

方法 3:asdf による管理

Linux でも asdf は利用できます。まず、依存パッケージをインストールしましょう。

bash# Ubuntu/Debian の場合
sudo apt-get update
sudo apt-get install curl git

asdf 本体をインストールします。

bash# asdf をクローン
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

シェル設定に asdf を追加します。

bash# .bashrc に設定を追加
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
source ~/.bashrc

Deno プラグインをインストールしましょう。

bash# Deno プラグインを追加
asdf plugin add deno https://github.com/asdf-community/asdf-deno.git

任意のバージョンをインストールします。

bash# 最新版をインストール
asdf install deno latest

# デフォルトに設定
asdf global deno latest

これで Linux 環境でも asdf によるバージョン管理ができます。

Windows でのインストール

方法 1:PowerShell スクリプト

Windows では PowerShell を使った公式スクリプトが推奨されます。PowerShell を管理者権限で開く必要はありません。

powershell# PowerShell でインストール(管理者権限不要)
irm https://deno.land/install.ps1 | iex

インストールが完了したら、環境変数が自動で設定されます。

新しい PowerShell ウィンドウを開いて、インストールを確認しましょう。

powershell# バージョン確認
deno --version

方法 2:Scoop を使用

Scoop は Windows 用の軽量パッケージマネージャーです。管理者権限なしで動作するのが特徴ですね。

まず Scoop をインストールします。

powershell# Scoop のインストール
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex

Scoop で Deno をインストールしましょう。

powershell# Deno をインストール
scoop install deno

アップデートも簡単です。

powershell# Deno をアップデート
scoop update deno

方法 3:Chocolatey を使用

Chocolatey は Windows の代表的なパッケージマネージャーで、管理者権限が必要です。

PowerShell を管理者権限で開き、Chocolatey をインストールします。

powershell# Chocolatey のインストール(管理者権限が必要)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Deno をインストールしましょう。

powershell# Deno をインストール
choco install deno

Chocolatey は企業環境での一元管理に向いています。

方法 4:dvm によるバージョン管理

dvm(Deno Version Manager)は Deno 専用のバージョン管理ツールです。Windows でも動作します。

PowerShell で dvm をインストールします。

powershell# dvm のインストール
irm https://deno.land/x/dvm/install.ps1 | iex

インストール後、dvm のコマンドが使えるようになります。

powershell# 特定バージョンをインストール
dvm install 1.43.0

# デフォルトバージョンを設定
dvm use 1.43.0

プロジェクトごとに .dvmrc ファイルを作成することで、バージョンを固定できます。

plaintext# .dvmrc ファイルの内容
1.40.0

プロジェクトディレクトリで dvm use を実行すれば、自動的に指定バージョンが使用されます。

powershell# .dvmrc に記載されたバージョンを使用
dvm use

バージョン固定術の実践

asdf による統一管理

asdf を使えば、チーム全体で同じバージョンを使用できます。以下の図は、asdf によるバージョン管理の仕組みを示しています。

mermaidflowchart LR
    repo["Git リポジトリ"] -->|含まれる| tool_versions[".tool-versions<br/>deno 1.40.0"]
    tool_versions -->|読み込み| asdf["asdf<br/>バージョン管理"]
    asdf -->|自動切り替え| dev_a["開発者 A<br/>Deno 1.40.0"]
    asdf -->|自動切り替え| dev_b["開発者 B<br/>Deno 1.40.0"]
    asdf -->|自動切り替え| ci["CI/CD<br/>Deno 1.40.0"]

プロジェクトのルートディレクトリに .tool-versions を作成しましょう。

plaintext# .tool-versions
deno 1.40.0
node 20.11.0
```
`

複数のランタイムを一つのファイルで管理できるのが asdf の強みです。

### Docker による完全な環境分離

Docker を使えば、OS に依存しない完全に再現可能な環境が構築できます。

Dockerfile を作成しましょう。

````dockerfile
# Dockerfile
FROM denoland/deno:1.40.0

# 作業ディレクトリを設定
WORKDIR /app

# 依存関係のキャッシュ用にファイルをコピー
COPY deno.json deno.lock ./
RUN deno cache --lock=deno.lock deno.json

アプリケーションファイルをコピーします。

dockerfile# アプリケーションコードをコピー
COPY . .

# アプリケーションを実行
CMD ["deno", "run", "--allow-net", "main.ts"]

Docker Compose で開発環境を定義することもできます。

yaml# docker-compose.yml
version: '3.8'

services:
  deno:
    image: denoland/deno:1.40.0
    volumes:
      - .:/app
    working_dir: /app
    command: deno run --allow-net --watch main.ts

コンテナを起動してみましょう。

bash# Docker Compose で起動
docker-compose up

CI/CD でのバージョン固定

GitHub Actions で特定バージョンの Deno を使用する例です。

yaml# .github/workflows/test.yml
name: Test

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

Deno のセットアップを行います。

yaml# Deno の特定バージョンをセットアップ
- name: Setup Deno
  uses: denoland/setup-deno@v1
  with:
    deno-version: 1.40.0

テストを実行しましょう。

yaml# テストを実行
- name: Run tests
  run: deno test --allow-read

.tool-versions からバージョンを読み込む方法もあります。

yaml# .tool-versions から自動的にバージョンを取得
- name: Setup Deno from .tool-versions
  run: |
    DENO_VERSION=$(grep deno .tool-versions | awk '{print $2}')
    echo "DENO_VERSION=$DENO_VERSION" >> $GITHUB_ENV

- uses: denoland/setup-deno@v1
  with:
    deno-version: ${{ env.DENO_VERSION }}

トラブルシューティング

エラー:Command not found

インストール後に deno: command not found というエラーが出る場合、PATH が正しく設定されていません。

以下のコマンドで Deno のインストール先を確認しましょう。

bash# Homebrew の場合
which deno

# curl スクリプトの場合
ls -la ~/.deno/bin/deno

PATH を手動で設定します。

bash# .zshrc または .bashrc に追加
export PATH="$HOME/.deno/bin:$PATH"

# 設定を反映
source ~/.zshrc

エラー:Permission denied

Linux や macOS で実行権限がない場合のエラーです。

bash# エラーメッセージ例
Error: Permission denied (os error 13)

実行権限を付与しましょう。

bash# Deno バイナリに実行権限を付与
chmod +x ~/.deno/bin/deno

バージョンが切り替わらない(asdf)

asdf でバージョンを変更したのに反映されない場合、シェルの設定を確認します。

bash# asdf のシム(shim)が PATH の最初にあるか確認
echo $PATH | grep asdf

asdf のシムが見つからない場合、再度設定を追加しましょう。

bash# asdf の初期化スクリプトを実行
. $(brew --prefix asdf)/libexec/asdf.sh

現在のバージョンを確認します。

bash# 現在使用中のバージョンを表示
asdf current deno

Windows で実行ポリシーエラー

PowerShell で実行ポリシーに関するエラーが出る場合があります。

powershell# エラーメッセージ例
execution of scripts is disabled on this system

実行ポリシーを変更しましょう。

powershell# 現在のユーザーに対して実行を許可
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

この設定により、署名されたスクリプトとローカルスクリプトが実行できるようになります。

バージョンアップグレード手順

Homebrew でのアップグレード

Homebrew を使用している場合、以下のコマンドで最新版に更新できます。

bash# Deno を最新版にアップグレード
brew upgrade deno

# アップグレード後のバージョン確認
deno --version

asdf でのアップグレード

asdf では、新しいバージョンをインストールしてから切り替えます。

bash# 最新版をインストール
asdf install deno latest

# インストールされているバージョンを確認
asdf list deno

グローバルまたはローカルで使用するバージョンを変更しましょう。

bash# グローバルバージョンを変更
asdf global deno 1.43.0

# またはプロジェクトローカルで変更
asdf local deno 1.43.0

dvm でのアップグレード

dvm を使用している場合も同様です。

bash# 最新版をインストール
dvm install latest

# デフォルトバージョンを変更
dvm use latest

まとめ

Deno のインストールは、あなたの環境と開発スタイルに応じて最適な方法を選ぶことが重要です。本記事では、macOS・Linux・Windows それぞれでのインストール方法と、バージョン固定術について詳しく解説しました。

個人で気軽に試すなら公式スクリプト、システム全体で管理するならパッケージマネージャー、チーム開発や複数プロジェクトを扱うなら asdf や dvm といったバージョン管理ツールがお勧めです。特に asdf は複数の言語ランタイムを統一的に管理でき、.tool-versions ファイル一つでチーム全体の環境を揃えられるのが魅力でしょう。

また、CI/CD 環境での再現性を考えると、Docker によるコンテナ化も有力な選択肢になります。プロジェクトの規模や要件に応じて、これらの方法を組み合わせて使うのも良いですね。

Deno の環境構築は、これから始まる開発の基盤となります。本記事で紹介した方法を参考に、あなたに最適なセットアップを見つけて、快適な Deno 開発ライフを始めましょう。

関連リンク