dotnetup を使ってみる

Note

dotnetup はパブリック プレビュー段階です。 その機能と動作は、一般公開前に変更される可能性があります。

dotnetupは、ユーザー レベルの.NETインストール用のクロスプラットフォーム ツールチェーン マネージャーです。 システム パッケージ マネージャーを使用せずに、.NET SDK とランタイムをインストール、更新、および削除します。

Prerequisites

  • 次のいずれかのオペレーティング システムとアーキテクチャ:

    オペレーティング システム Architectures
    Windows x64、Arm64
    macOS x64、Arm64
    Linux (glibc) x64、Arm64
    Alpine Linux などの Linux (musl) x64、Arm64
  • ターミナル。

  • ダウンロード スクリプトを実行するには、macOS または Linux では Bash、Windows では PowerShell を使用します。

  • macOS または Linux では、curl または wget してファイルをダウンロードし、sha512sum または shasum してダウンロードしたファイルを検証します。

dotnetupには、.NET ランタイムと同じオペレーティング システム要件があります。 OS 固有の要件については、Windows に .NET をインストールする、macOS に .NET をインストールする、または Linux に .NET をインストールするを参照してください。

Important

Windowsでは、既定のセットアップでは everywhere アクセス モードが使用されます。 このモード:

  • システム PATHを更新するには昇格が必要です。
  • dotnetup で管理されたインストールは、Visual Studio がインストールするものなど、マシン全体の .NET インストールよりも優先されます。 dotnetupによってインストールされていないマシン全体の SDK またはランタイムを必要とするプロジェクトとアプリは、ビルドまたは実行に失敗します。
  • システム PATHを変更します。これはすべてのユーザーに適用されます。 他のユーザーが起動する昇格されたプロセスは、お使いのユーザー プロファイルからの .NET を解決する可能性があります。

これらの影響を回避するには、セットアップ時に none または shell アクセス モードを選択してください。 everywhere を選択すると、セットアップで移行を求められた場合、既存のインストールを移行します。 詳細については、「Everywhere モードに関する考慮事項」を参照してください。

dotnetup をダウンロードする

ダウンロード スクリプトでは、既定で最新の preview ビルドがインストールされます。 ダウンロードした実行可能ファイルをその SHA-512 チェックサムで検証し、~/.dotnetupにインストールします。

macOS または Linux で、次のコマンドを実行します。

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh | bash

Windowsで、次のコマンドを実行します。

irm https://aka.ms/dotnetup/get-dotnetup.ps1 | iex

macOS または Linux に最新の daily ビルドをインストールするには、次のコマンドを実行します。

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh |
  bash -s -- --quality daily

Windowsに最新のdaily ビルドをインストールするには、次のコマンドを実行します。

iex "& { $(irm https://aka.ms/dotnetup/get-dotnetup.ps1) } -Quality daily"

Important

日次ビルドではリリース検証が完了せず、コード署名もされません。 日次ビルドは、短期間のテストにのみ使用します。

スクリプトは、 dotnetup を PATHに追加する手順を出力します。 手順を適用した後、新しいターミナルを開きます。

初回セットアップを実行する

対話型セットアップを実行してください:

> dotnetup init
Welcome to dotnetup!

SDK Channel: latest
Mode: <recommended-mode> (Suggested)

<recommended-mode> modifies <configuration-target> to set PATH and DOTNET_ROOT to prefer <install-path>.

Would you like to install .NET with the recommended settings?
> Yes, proceed with defaults and install

Installing SDK <resolved-version> to <install-path>...
<download and installation progress>
Installed at <install-path>:
  SDK <resolved-version>
<mode-specific environment guidance>
Setup complete!

パス、進行状況の表示、環境のガイダンスは、システムと選択したモードによって異なります。

推奨されるアクセス モードは、Windows では everywhere です。 macOS および Linux では、none がサポート対象のシェルを検出した場合は dotnetup、それ以外は shell です。

[いいえ、セットアップをカスタマイズ] を選択して、SDK チャネル、アクセス モード、移行オプションを選択します。

SDK チャネルを選択する

SDK チャネルは、インストールする SDK とその更新方法を dotnetup に伝えます。

チャネルフォーム 例 Result
最新の安定版 latest 最新の有効な安定版 SDK
最新の LTS lts 最新の有効な安定版 LTS SDK
最新のプレビュー preview 最新のプレビュー SDK
最新の日次 daily 利用可能な最新の毎日の SDK
メジャー 10 指定されたメジャー バージョンの最新の SDK
メジャーとマイナー 10.0 指定されたメジャー バージョンとマイナー バージョンの最新の SDK
機能バンド 10.0.1xx 指定された機能バンド内の最新の SDK
正確なバージョン 10.0.103 指定した SDK バージョンのみ
初期 SDK なし none セットアップ中にインストールをスキップする

正確なバージョンは更新時に更新されません。 受け付けられるすべての形式については、dotnetup チャネルとバージョンを参照してください。

.NETにアクセスする方法を選択する

アクセス モードは、ターミナルとアプリケーションが dotnetup で管理される.NETインストールを見つける方法を制御します。

アクセス モード Behavior
none これらの環境変数は変更しません。 dotnetup dotnet で .NET を実行します。
shell シェル プロファイルを変更して、これらの環境変数を設定します。 そのシェルから開始されたプロセスでは、dotnetup によってインストールされた .NET SDK とランタイムが使用されます。
everywhere システムの PATH を変更し、ユーザー レベルの環境変数 DOTNET_ROOT を設定します。 Windowsでのみ使用できます。

everywhere モードの詳細と考慮事項については、dotnetup 環境の構成を参照してください。

既存のインストールを移行する

セットアップでは、既存のマシン全体の .NET SDK とランタイムのインストールを dotnetup で管理されたインストールに移行することを提案できます。 everywhere モードで移行が特に重要である理由については、「Everywhere モードの考慮事項」を参照してください。

セットアップの確認

セットアップによって環境が変更した後、新しいターミナルを開きます。

shellモードまたはeverywhereモードでは、次を実行:

dotnet --version
dotnetup list

none モードの場合は、次を実行します:

dotnetup dotnet -- --version
dotnetup list

セットアップを変更するには、dotnetup initをもう一度実行します。

dotnetup を最新の状態に保つ

ツール自体を更新するには、dotnetup self update を実行します。 毎日のビルドでは、 dotnetup self update --channel dailyを使用します。 これらのコマンドでは、マネージド SDK やランタイムは更新されません。 オプションと旧バージョンへの復元については、「dotnetup の更新または削除」を参照してください。