次の方法で共有


macOS に .NET をインストールする

この記事では、macOS でサポートされている .NET のバージョン、.NET のインストール方法、SDK とランタイムの違いについて説明します。

.NET の最新バージョンは 8 です。

サポートされているバージョン

次の表に、サポートされている .NETリリースと、それらがサポートされている macOS を示します。 これらのバージョンは、.NET のバージョンがサポート終了になるか、macOS のバージョンがサポート対象外になるまでサポートされます。

macOS バージョン .NET
macOS 15 "Sequoia" 8.0、6.0
macOS 14 "Sonoma" 8.0、6.0
macOS 13 "Ventura" 8.0、6.0

次のバージョンの .NET は、❌ サポート対象外となりました。

  • .NET 7
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

ランタイムまたは SDK

ランタイムは、.NET で作成されたアプリを実行するために使用されます。 アプリの作成者は、アプリを公開するとき、アプリにランタイムを含めることができます。 ランタイムが含まれていない場合は、ユーザーが適切なランタイムをインストールする必要があります。

macOS にインストールできるランタイムは 2 つあり、どちらも SDK に含まれています。

  • ASP.NET Core ランタイム
    ASP.NET Core アプリを実行します。 .NET ランタイムが含まれます。 インストーラーとして使用できません。

  • .NET ランタイム
    これは、通常の .NET アプリを実行しますが、ASP.NET Core 上に構築されたアプリなど特殊なアプリは実行しません。

SDK は、.NET アプリとライブラリを構築および公開するために使用されます。 最新の SDK では、以前のバージョンの .NET 用アプリの構築がサポートされています。 通常の状況では、最新の SDK のみをインストールする必要があります。

SDK のインストールには、標準の .NET ランタイムと ASP.NET Core ランタイムの両方が含まれます。 たとえば、.NET SDK 8.0 がインストールされている場合、.NET Runtime 8.0 と ASP.NET Core 8.0 Runtime の両方がインストールされます。 ただし、他のランタイム バージョンは SDK ではインストールされないため、個別にインストールする必要があります。

.NET のインストール方法を選択する

.NET にはさまざまなインストール方法があり、一部の製品では独自のバージョンの .NET が管理される場合があります。 独自のバージョンの .NET を管理するソフトウェアを使用して .NET をインストールすると、.NET がシステム全体で有効にならない可能性があります。 他のソフトウェアを使用して .NET をインストールする場合の影響をしっかりと理解するようにしてください。

次のセクションの一覧を確認しても、どの方法を選べばよいかわからない場合は、.NET インストーラー パッケージを使用することをお勧めします。

開発者

  • Visual Studio Code - C# 開発キット

    .NET アプリを開発するには、Visual Studio Code 用の C# 開発キットの拡張機能をインストールします。 拡張機能では、既にインストールされている SDK を使用することも、専用の SDK をインストールすることもできます。

ユーザーと開発者

  • .NET インストーラー

    スタンドアロン インストーラーを使用して .NETをインストールします。 この方法は、開発者またはユーザーのマシンに .NET をインストールする一般的な方法です。

  • スクリプトを使用して .NET をインストールする

    SDK またはランタイムのインストールを自動化できる bash スクリプト。 インストールする .NET のバージョンを選択できます。

  • 手動で .NET をインストールする

    このインストール方法は、特定のフォルダーに .NET をインストールし、.NET の他のコピーとは別に実行する必要がある場合に使用します。

.NET のインストール

インストーラー パッケージは .NET をインストールする簡単な方法で、macOS で使用できます。

  1. ブラウザーを開き、 https://dotnet.microsoft.com/download/dotnet に移動します。

  2. インストールする .NET バージョン (.NET 8.0 など) へのリンクを選択します。

    .NET ダウンロード Web サイト。バージョン 6.0 から 9.0 までが一覧表示されます。赤枠で強調表示されているのが各ダウンロード リンクです。

    このリンクをクリックすると、そのバージョンの .NET をダウンロードするためのリンクがあるページが表示されます

    SDK をインストールする場合は、最新の .NET バージョンを選んでください。 その SDK では、以前のバージョンの .NET 用アプリの構築がサポートされています。

    ヒント

    ダウンロードするバージョンがわからない場合は、最新とマークされているバージョンを選んでください。

  3. このページには、SDK とランタイムのダウンロード リンクが表示されます。 ここでは、.NET SDK または .NET ランタイムをダウンロードします。

    SDK とランタイムのダウンロード リンクを示す .NET ダウンロード Web サイト。SDK ヘッダーとランタイム ヘッダーが赤枠で強調表示されています。各枠の矢印は macOS セクションを指しています。

    前の画像では、2 つのセクションが強調表示されています。 SDK をダウンロードする場合は、セクション 1 を参照します。 .NET ランタイムの場合は、セクション 2 を参照します。

    • セクション 1 (SDK)

      このセクションは、SDK のダウンロード領域です。 [macOS] 行の [インストーラー] 列に、Arm64x64 の 2 つのアーキテクチャが表示されています。

      • M1M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
      • Intel プロセッサを実行している場合は、x64 を選択します。
    • セクション 2 (ランタイム)

      このセクションには、ランタイムのダウンロードが含まれています。 [macOS] 行の [Installers] 列のリンクが空であることに注意してください。 このセクションが空になっているのは、ASP.NET Core ランタイムが提供されるのは SDK またはバイナリ インストールを使用した場合のみだからです。

      さらに下にスクロールして、標準の .NET ランタイムを見つけてダウンロードします。

      .NET ダウンロード Web サイトの .NET Runtime ダウンロード テーブルのみを表示したスクリーンショット。[macOS] 行は赤枠で強調表示されています。

      • M1M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
      • Intel プロセッサを実行している場合は、x64 を選択します。
  4. ダウンロードが完了したら、開きます。

  5. インストーラーの手順に従います。

    macOS で実行されている .NET インストーラーのみを表示したスクリーンショット。

手動で .NET をインストールする

macOS インストーラーの代わりに、SDK とランタイムをダウンロードして手動でインストールすることもできます。 手動インストールは、通常、継続的インテグレーション シナリオのオートメーションの一環として実行されます。 通常、開発者とユーザーはインストーラーを使用する必要があります。

ヒント

install-dotnet.sh スクリプトを使用して、これらの手順を自動的に実行します。

  1. ブラウザーを開き、 https://dotnet.microsoft.com/download/dotnet に移動します。

  2. インストールする .NET バージョン (.NET 8.0 など) へのリンクを選択します。

    このリンクをクリックすると、そのバージョンの .NET をダウンロードするためのリンクがあるページが表示されます

    SDK をインストールする場合は、最新の .NET バージョンを選んでください。 その SDK では、以前のバージョンの .NET 用アプリの構築がサポートされています。

    ヒント

    ダウンロードするバージョンがわからない場合は、最新とマークされているバージョンを選んでください。

    .NET ダウンロード Web サイト。バージョン 6.0 から 9.0 までが一覧表示されます。赤枠で強調表示されているのが各ダウンロード リンクです。

  3. インストールする SDK またはランタイムへのリンクを選択します。 [macOS] 行で [バイナリ] 列を探します。

    SDK のダウンロード リンクを示す .NET ダウンロード Web サイト。SDK ヘッダーが赤枠で強調表示されています。この枠の矢印は macOS セクションを指しています。

    • M1M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
    • Intel プロセッサを実行している場合は、x64 を選択します。
  4. ターミナルを開き、.NET バイナリがダウンロードされた場所に移動します。

  5. システム上の .NET をインストールしたい場所に TAR 書庫を展開します。 次の例では、HOME ディレクトリ ~/Applications/.dotnet を使用します。

    mkdir -p ~/Applications/.dotnet
    tar -xf "dotnet-sdk-9.0.100-rc.2.24474.11-osx-arm64.tar" -C ~/Applications/.dotnet/
    

.NET がインストールされた場所にディレクトリを変更して.NET が動作するかテストして、コマンド dotnet --info を実行します。

chdir ~/Applications/.dotnet/
./dotnet --info

スクリプトを使用して .NET をインストールする

dotnet-install スクリプトは、ランタイムのオートメーションおよび管理者特権を使用しないインストールに使用されます。 このスクリプトは https://dot.net/v1/dotnet-install.sh からダウンロードできます。

このスクリプトを使用すると、最新の長期サポート (LTS) バージョン (.NET 8) が既定でインストールされます。 channel スイッチを指定することで、特定のリリースを選択できます。 ランタイムをインストールするには、runtime スイッチを含めます。 それ以外の場合は、スクリプトによって SDK がインストールされます。

ヒント

これらのコマンドは、この手順の最後にスクリプト スニペットとして提供されています。

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

  2. ~/Downloads など、スクリプトをダウンロードするフォルダーに移動します。

  3. wget コマンドがない場合は、Brew を使用してインストールします

    brew install wget
    
  4. 次のコマンドを実行して、スクリプトをダウンロードします。

    wget https://dot.net/v1/dotnet-install.sh
    
  5. スクリプトに実行権限を付与する

    chmod +x dotnet-install.sh
    
  6. スクリプトを実行して .NET をインストールします。

    このスクリプトでは、既定で最新の SDK が ~/.dotnet ディレクトリにインストールされます。

    ./dotnet-install.sh
    

すべてのコマンドを 1 つの bash スクリプトとして次に示します。

chdir ~/Downloads
brew install wget
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh

.NET をテストするには、~/.dotnet フォルダーに移動して dotnet --info コマンドを実行します。

chdir ~/.dotnet
./dotnet --info

重要

一部のプログラムはシステム上の .NET を見つける際に環境変数を使用する場合があり、新しいターミナルを開く際に dotnet コマンドが機能しない可能性があります。 この問題の解決するには、「.NET をシステム全体で使用できるようにする」セクションを参照してください。

Visual Studio Code 用の .NET をインストールする

Visual Studio Code は、デスクトップ上で動作する強力で軽量なソース コード エディターです。 Visual Studio Code では、システムに既にインストールされている SDK を使用できます。 さらに、まだインストールされていない場合は、C# 開発キット拡張機能により .NET が自動的にインストールされます。

Visual Studio Code を使用して .NET をインストールする手順については、「VS Code での C# の概要」を参照してください。

公証

開発者 ID で配布される macOS 用に作成されたソフトウェアは、.NET で作成されたアプリを含め、公証する必要があります。

公証されていないアプリを実行すると、次の画像のようなエラー ウィンドウが表示されます。

macOS Catalina の公証に関するアラート

公証の強制が .NET (および .NET アプリ) に与える影響の詳細については、macOS Catalina の公証への対応に関するページを参照してください。

検証

インストーラーまたはバイナリ リリースをダウンロードした後、ファイルを検証して、変更されたり破損したりしていないことを確認します。 コンピューターでチェックサムを検証し、ダウンロード Web サイトで報告されていたものと比較できます。

公式ダウンロード ページからファイルをダウンロードするときに、ファイルのチェックサムがテキスト ボックスに表示されます。 [コピー] ボタンを選択すると、クリップボードにチェックサム値がコピーされます。

チェックサムが示された .NET ダウンロード ページ

sha512sum コマンドを使用して、ダウンロードしたファイルのチェックサムを出力します。 たとえば、次のコマンドでは、dotnet-sdk-8.0.100-linux-x64.tar.gz ファイルのチェックサムを報告します。

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

このチェックサムとダウンロード サイトで提供された値を比較します。

重要

これらの例では Linux ファイルが表示されていますが、この情報は macOS にも同様に適用されます。

チェックサム ファイルを使用して検証する

.NET リリース ノートには、ダウンロードしたファイルの検証に使用できるチェックサム ファイルへのリンクが含まれています。 次の手順は、チェックサム ファイルをダウンロードし、.NET インストール バイナリを検証する方法について説明しています。

  1. GitHub (https://github.com/dotnet/core/tree/main/release-notes/8.0#releases) にある .NET 8 のリリース ノート ページには、Releases という名前のセクションが含まれています。 このセクションの表は、各 .NET 8 リリースのダウンロード ファイルとチェックサム ファイルにリンクされています。

    Github リリース ノートの .NET のバージョン表

  2. ダウンロードした .NET のバージョンのリンクを選択します。

    前のセクションでは、.NET 8.0.0 リリースに含まれる .NET SDK 8.0.100 を使用しました。

  3. リリース ページでは、.NET ランタイムと .NET SDK のバージョン、およびチェックサム ファイルへのリンクを確認できます。

    .NET のチェックサムが示されたダウンロード表

  4. チェックサム リンクを右クリックし、リンクをクリップボードにコピーします。

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

  6. curl -O {link} を使用して、チェックサム ファイルをダウンロードします。

    次のコマンド内のリンクをコピーしたリンクに置き換えます。

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  7. 同じディレクトリにダウンロードされたチェックサム ファイルと .NET リリース ファイルの両方を使用して、sha512sum -c {file} --ignore-missing コマンドを使ってダウンロードしたファイルを検証します。

    検証に合格すると、OK の状態で出力されたファイルが表示されます。

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    FAILED とマークされたファイルが表示された場合、ダウンロードしたファイルは無効であり、使用できません。

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

トラブルシューティング

次のセクションは、問題のトラブルシューティングに役立ちます。

.NET をシステム全体で使用できるようにする

システム上のアプリケーション (ターミナルを含む) は、.NET がインストールされている場所を見つけることが必要な場合があります。 .NET macOS インストーラー パッケージで、システムを自動的に構成する必要があります。 ただし、手動インストール方法または .NET インストール スクリプトを使用した場合は、.NET がインストールされたディレクトリを PATH 変数に追加する必要があります。

一部のアプリでは、.NET がインストールされている場所を判断しようとするときに DOTNET_ROOT 変数を探す場合があります。

macOS ではさまざまなシェルを使用でき、それぞれに異なるプロファイルがあります。 次に例を示します。

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

シェル プロファイルに次の 2 つの環境変数を設定します。

  • DOTNET_ROOT

    この変数は、.NET をインストールした先のフォルダーに設定されます ($HOME/.dotnet など)。

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    この変数には、DOTNET_ROOT フォルダーと DOTNET_ROOT/tools フォルダーの両方を含める必要があります。

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Arm ベースの Mac

次のセクションでは、Arm ベースの Mac に .NET をインストールするときに考慮する必要がある点について説明します。

.NET のバージョン

次の表は、Arm ベースの Mac でサポートされている .NET のバージョンを示します。

.NET のバージョン SDK ランタイム パスの競合
8 はい はい いいえ
8 はい はい いいえ
6 はい はい いいえ
6 はい はい いいえ

.NET SDK の x64 バージョンと Arm64 バージョンは、互いに独立して存在します。 新しいバージョンがリリースされた場合は、各インストールをアップグレードする必要があります。

パスの違い

Arm ベースの Mac では、Arm64 バージョンのすべての .NET が、通常の /usr/local/share/dotnet/ フォルダーにインストールされます。 ただし、x64 バージョンの .NET SDK をインストールすると、/usr/local/share/dotnet/x64/dotnet/ フォルダーにインストールされます。

パスの競合

x64 .NET SDK は、前のセクションで説明したように、独自のディレクトリにインストールされます。 これにより、.NET SDK の Arm64 バージョンと x64 バージョンが同じマシンに存在するようになります。 ただし、.NET 6 より前の x64 SDK はサポートされておらず、Arm64 バージョンと同じ場所 (/usr/local/share/dotnet/ フォルダー) にインストールされます。 サポートされていない x64 SDK をインストールする必要がある場合は、先に Arm64 バージョンをアンインストールする必要があります。 反対も同様で、Arm64 バージョンをインストールするには、サポートされていない x64 SDK をアンインストールする必要があります。

パス変数

.NET 6 SDK の x64 バージョンと Arm64 バージョンの両方をインストールしている場合は、システム パスに .NET を追加する環境変数 (PATH 変数など) を変更する必要がある場合があります。 また、一部のツールは DOTNET_ROOT 環境変数に依存しているため、適切な .NET 6 SDK のインストール フォルダーを指すように更新する必要がある場合もあります。

System.Drawing.Common と libgdiplus

System.Drawing.Common アセンブリを使用する .NET アプリケーションでは、libgdiplus をインストールする必要があります。

libgdiplus を取得する簡単な方法は、macOS の Homebrew ("brew") パッケージ マネージャーを使用することです。 brew をインストールした後、ターミナルで次のコマンドを実行して libgdiplus をインストールします。

brew update
brew install mono-libgdiplus