Snap を使用して .NET ランタイムをインストールする

この記事では、.NET ランタイム Snap パッケージのインストール方法について説明します。 .NET ランタイム Snap パッケージは、Canonical によって提供および管理されています。 Snap は、Linux ディストリビューションに組み込まれているパッケージ マネージャーに代わる優れた方法です。

Snap は、さまざまな Linux ディストリビューションで機能するアプリとその依存関係のバンドルです。 Snap は、Snap Store で見つけてインストールできます。 Snap の詳細については、「クイック スタート ツアー」をご覧ください。

注意事項

.NET のスナップ インストールでは、.NET ツールの実行中に問題が発生する場合があります。 .NET ツールを使いたい場合は、dotnet-install スクリプトを使うか、特定の Linux ディストリビューションのパッケージ マネージャーを使って .NET をインストールすることをお勧めします。

前提条件

  • Snap をサポートする Linux ディストリビューション。
  • スナップ デーモン snapd

Linux ディストリビューションには既に Snap が含まれている可能性があります。 ターミナルから snap を実行して、コマンドが機能するかどうかを確認してください。 サポートされている Linux ディストリビューションのリストと Snap のインストール方法については、snapd のインストールに関するページを参照してください。

.NET のリリース

Microsoft では、長期サポート (LTS) と標準期間サポート (STS) の 2 つの異なるサポート ポリシーの下で .NET を公開しています。 すべてのリリースの品質は同じです。 唯一の違いは、サポート期間の長さです。 LTS リリースでは、3 年間、無料サポートとパッチを利用できます。 STS リリースでは、18 か月間、無料サポートとパッチを利用できます。 詳細については、.NET のサポート ポリシーに関するページを参照してください。

Microsoft で現在サポートされている .NET のバージョンは次のとおりです。

  • 8.0 (LTS)— 2026 年 11 月 10 日にサポートが終了します。
  • 6.0 (LTS)— 2024 年 11 月 12 日にサポートが終了します。

.NET をビルドしてリリースしている他の組織では、異なるサポート ポリシーを導入している場合があります。 .NET がどのようにサポートされているかを理解するには、必ずそれらの組織に確認してください。

1.ランタイムをインストールする

次の手順では、.NET 8 ランタイム Snap パッケージをインストールします。

  1. ターミナルを開きます。

  2. snap install を使用して .NET ランタイム Snap パッケージをインストールします。 たとえば、次のコマンドを実行すると、.NET 8 ランタイムがインストールされます。

    sudo snap install dotnet-runtime-80
    

各 .NET ランタイムは、個々の Snap パッケージとして公開されます。 次の表にパッケージを示します。

.NET のバージョン Snap パッケージ Microsoft でサポートされている .NET バージョン
8 (STS) dotnet-runtime-80 はい
7 (STS) dotnet-runtime-70 いいえ
6 (LTS) dotnet-runtime-60 はい
5 dotnet-runtime-50 いいえ
3.1 dotnet-runtime-31 いいえ
3.0 dotnet-runtime-30 いいえ
2.2 dotnet-runtime-22 いいえ
2.1 dotnet-runtime-21 いいえ

2.dotnet コマンドを有効にする

.NET ランタイム Snap パッケージがインストールされている場合、dotnet コマンドは自動的に構成されません。 snap alias コマンドを使用して、ターミナルから dotnet コマンドを使用します。 コマンドの形式は次のとおりです: sudo snap alias {package}.{command} {alias}。 次の例では、dotnet コマンドをマップします。

sudo snap alias dotnet-runtime-80.dotnet dotnet

3.インストール場所をエクスポートする

DOTNET_ROOT 環境変数は、.NET がインストールされている場所を判断するためにツールによって使用されることがよくあります。 スナップを使用して .NET をインストールすると、この環境変数は構成されません。 プロファイルで DOTNET_ROOT 環境変数を構成する必要があります。 スナップへのパスは、/snap/{package}/current の形式を使用します。 たとえば、dotnet-runtime-80 スナップをインストールした場合は、次のコマンドを使用して、.NET が配置されている場所に環境変数を設定します。

export DOTNET_ROOT=/snap/dotnet-runtime-80/current

環境変数を永続的にエクスポートする

上記の export コマンドは、コマンドを実行したターミナル セッションの環境変数のみを設定します。

シェル プロファイルを編集して、コマンドを永続的に追加することができます。 Linux ではさまざまなシェルを使用でき、それぞれに異なるプロファイルがあります。 次に例を示します。

  • Bash シェル: ~/.bash_profile~/.bashrc
  • Korn シェル: ~/.kshrc または .profile
  • Z シェル: ~/.zshrc または .zprofile

シェルの適切なソース ファイルを編集し、export DOTNET_ROOT=/snap/dotnet-runtime-80/current を追加します。

トラブルシューティング

dotnet ターミナル コマンドが機能しない

Snap パッケージは、パッケージによって提供されるコマンドに別名をマップできます。 .NET ランタイム Snap パッケージでは、別名は dotnet コマンドに自動的にマップされません。 dotnet コマンドの別名を Snap パッケージにマップするには、次のコマンドを使用します。

sudo snap alias dotnet-runtime-80.dotnet dotnet

dotnet-runtime-80 は、実際のランタイム パッケージの名前に置き換える必要があります。

WSL2 に Snap をインストールできない

Snap をインストールするには、事前に WSL2 インスタンスで systemd を有効にする必要があります。

  1. 任意のテキスト エディターで /etc/wsl.conf を開きます。

  2. 次の構成を貼り付けます。

    [boot]
    systemd=true
    
  3. ファイルを保存し、PowerShell を使用して WSL2 インスタンスを再起動します。 wsl.exe --shutdown コマンドを使用します。

4..NET CLI を使用する

ターミナルを開き、「dotnet」と入力します。

dotnet

次のような出力が表示されます。

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

.NET CLI の使用方法については、「.NET CLI の概要」を参照してください。