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 | 主なインストール方法 | 特徴 |
|---|---|---|---|
| 1 | macOS | Homebrew / curl / asdf | パッケージマネージャーが充実 |
| 2 | Linux | curl / apt・yum / asdf | ディストリビューションにより異なる |
| 3 | Windows | PowerShell / 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 | 設定ファイル | 特徴 |
|---|---|---|---|---|
| 1 | asdf | macOS / Linux | .tool-versions | 多言語対応、最も汎用的 |
| 2 | dvm | すべて | .dvmrc | Deno 専用、軽量 |
| 3 | Docker | すべて | 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 開発ライフを始めましょう。
関連リンク
articleDeno のインストール完全ガイド:macOS/Linux/Windows とバージョン固定術
articleDeno vs Node.js vs Bun ベンチマーク:起動時間・HTTP スループット・DX 比較
articleDeno で Permission Denied が出る理由と解決手順:--allow-\* フラグ総点検
articleDeno とは?Node.js との違い・強み・ユースケースを最新整理
articleCodex が誤ったコードを出すときの対処:再現最小化・拘束条件・テスト駆動の適用
articleDify RAG でヒットしないとき:埋め込み品質・分割・検索パラメータの診断術
articleAstro の大規模ナビゲーション設計:メガメニュー/パンくず/サイト内検索
articleDeno のインストール完全ガイド:macOS/Linux/Windows とバージョン固定術
article【最新比較】Gemini 3 Pro vs GPT-5.1 Codex-Max: 開発者が本当に使うべきAIはどっち?
articleHeadless UI と Radix UI を徹底比較:アクセシビリティ・拡張性・学習コスト
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来