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 インストーラー パッケージを使用することをお勧めします。
開発者
-
.NET アプリを開発するには、Visual Studio Code 用の C# 開発キットの拡張機能をインストールします。 拡張機能では、既にインストールされている SDK を使用することも、専用の SDK をインストールすることもできます。
ユーザーと開発者
-
スタンドアロン インストーラーを使用して .NETをインストールします。 この方法は、開発者またはユーザーのマシンに .NET をインストールする一般的な方法です。
-
SDK またはランタイムのインストールを自動化できる bash スクリプト。 インストールする .NET のバージョンを選択できます。
-
このインストール方法は、特定のフォルダーに .NET をインストールし、.NET の他のコピーとは別に実行する必要がある場合に使用します。
.NET のインストール
インストーラー パッケージは .NET をインストールする簡単な方法で、macOS で使用できます。
ブラウザーを開き、 https://dotnet.microsoft.com/download/dotnet に移動します。
インストールする .NET バージョン (.NET 8.0 など) へのリンクを選択します。
このリンクをクリックすると、そのバージョンの .NET をダウンロードするためのリンクがあるページが表示されます
SDK をインストールする場合は、最新の .NET バージョンを選んでください。 その SDK では、以前のバージョンの .NET 用アプリの構築がサポートされています。
ヒント
ダウンロードするバージョンがわからない場合は、最新とマークされているバージョンを選んでください。
このページには、SDK とランタイムのダウンロード リンクが表示されます。 ここでは、.NET SDK または .NET ランタイムをダウンロードします。
前の画像では、2 つのセクションが強調表示されています。 SDK をダウンロードする場合は、セクション 1 を参照します。 .NET ランタイムの場合は、セクション 2 を参照します。
セクション 1 (SDK)
このセクションは、SDK のダウンロード領域です。 [macOS] 行の [インストーラー] 列に、Arm64 と x64 の 2 つのアーキテクチャが表示されています。
- M1 や M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
- Intel プロセッサを実行している場合は、x64 を選択します。
セクション 2 (ランタイム)
このセクションには、ランタイムのダウンロードが含まれています。 [macOS] 行の [Installers] 列のリンクが空であることに注意してください。 このセクションが空になっているのは、ASP.NET Core ランタイムが提供されるのは SDK またはバイナリ インストールを使用した場合のみだからです。
さらに下にスクロールして、標準の .NET ランタイムを見つけてダウンロードします。
- M1 や M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
- Intel プロセッサを実行している場合は、x64 を選択します。
ダウンロードが完了したら、開きます。
インストーラーの手順に従います。
手動で .NET をインストールする
macOS インストーラーの代わりに、SDK とランタイムをダウンロードして手動でインストールすることもできます。 手動インストールは、通常、継続的インテグレーション シナリオのオートメーションの一環として実行されます。 通常、開発者とユーザーはインストーラーを使用する必要があります。
ヒント
install-dotnet.sh スクリプトを使用して、これらの手順を自動的に実行します。
ブラウザーを開き、 https://dotnet.microsoft.com/download/dotnet に移動します。
インストールする .NET バージョン (.NET 8.0 など) へのリンクを選択します。
このリンクをクリックすると、そのバージョンの .NET をダウンロードするためのリンクがあるページが表示されます
SDK をインストールする場合は、最新の .NET バージョンを選んでください。 その SDK では、以前のバージョンの .NET 用アプリの構築がサポートされています。
ヒント
ダウンロードするバージョンがわからない場合は、最新とマークされているバージョンを選んでください。
インストールする SDK またはランタイムへのリンクを選択します。 [macOS] 行で [バイナリ] 列を探します。
- M1 や M3 Pro などの Apple プロセッサを実行している場合は、Arm64 を選択します。
- Intel プロセッサを実行している場合は、x64 を選択します。
ターミナルを開き、.NET バイナリがダウンロードされた場所に移動します。
システム上の .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 がインストールされます。
ヒント
これらのコマンドは、この手順の最後にスクリプト スニペットとして提供されています。
ターミナルを開きます。
~/Downloads など、スクリプトをダウンロードするフォルダーに移動します。
wget
コマンドがない場合は、Brew を使用してインストールしますbrew install wget
次のコマンドを実行して、スクリプトをダウンロードします。
wget https://dot.net/v1/dotnet-install.sh
スクリプトに実行権限を付与する
chmod +x dotnet-install.sh
スクリプトを実行して .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 で作成されたアプリを含め、公証する必要があります。
公証されていないアプリを実行すると、次の画像のようなエラー ウィンドウが表示されます。
公証の強制が .NET (および .NET アプリ) に与える影響の詳細については、macOS Catalina の公証への対応に関するページを参照してください。
検証
インストーラーまたはバイナリ リリースをダウンロードした後、ファイルを検証して、変更されたり破損したりしていないことを確認します。 コンピューターでチェックサムを検証し、ダウンロード Web サイトで報告されていたものと比較できます。
公式ダウンロード ページからファイルをダウンロードするときに、ファイルのチェックサムがテキスト ボックスに表示されます。 [コピー] ボタンを選択すると、クリップボードにチェックサム値がコピーされます。
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 インストール バイナリを検証する方法について説明しています。
GitHub (https://github.com/dotnet/core/tree/main/release-notes/8.0#releases) にある .NET 8 のリリース ノート ページには、Releases という名前のセクションが含まれています。 このセクションの表は、各 .NET 8 リリースのダウンロード ファイルとチェックサム ファイルにリンクされています。
ダウンロードした .NET のバージョンのリンクを選択します。
前のセクションでは、.NET 8.0.0 リリースに含まれる .NET SDK 8.0.100 を使用しました。
リリース ページでは、.NET ランタイムと .NET SDK のバージョン、およびチェックサム ファイルへのリンクを確認できます。
チェックサム リンクを右クリックし、リンクをクリップボードにコピーします。
ターミナルを開きます。
curl -O {link}
を使用して、チェックサム ファイルをダウンロードします。次のコマンド内のリンクをコピーしたリンクに置き換えます。
curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
同じディレクトリにダウンロードされたチェックサム ファイルと .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
関連するコンテンツ
.NET