Snap版 .NET Core 3.0.0をインストールするには
Snapパッケージで提供される「.NET Core 3.0.0」をインストールする方法です。先ほど紹介した通り、2019年9月23日に「.NET Core 3.0.0」がリリースされました。
アップデートについて
Snap版「.NET Core 3.0.0」をインストールすると、次回以降自動的にバックグラウンドで 「.NET Core 3.0」がアップデートされるようになります。SDKとランタイムについて
「.NET Core」では、「.NET Core SDK」と「.NET Core ランタイム」と「ASP.NET Core ランタイム」を提供しています。「.NET Core」上で動作するアプリを開発するユーザーは、「.NET Core SDK」をインストールしてください。
「.NET Core」上で動作するアプリを利用するユーザーは、「.NET Core ランタイム」や「ASP.NET Core ランタイム」をインストールしてください。
「.NET Core SDK」には「.NET Core ランタイム」と「ASP.NET Core ランタイム」が含まれているため、「.NET Core SDK」をインストールするユーザーは、別途「.NET Core ランタイム」や「ASP.NET Core ランタイム」をインストールする必要はありません。
作業上の留意点
「.NET Core」のインストール作業は「端末」で行います。コマンドを端末に貼り付けるには
コピーしたコマンドを「端末」に貼り付けるには、「端末」上で「Shift + Ctrl + V」キーを押します。パスワードの入力が促されたら
以下のようにパスワードの入力が促されるので、自分のパスワードを入力して「エンター」キーを押します。
[sudo] ユーザー名のパスワード:
パスワードを入力しても何も表示されませんが、入力自体は行われています。
1..NET Core 3.0.0のインストール準備
まずは「.NET Core」のインストール準備です。1-1.snapdのインストール
Snapで提供されるソフトウェアを利用するには、まずシステムに「snapd」をインストールする必要があります。「snapd」のインストール方法は、各Linuxディストリビューションによって異なります。
各Linuxディストリビューションで「snapd」をインストールする方法は、以下を参照してください。
Ubuntuではデフォルトでインストール済み
「Ubuntu」ではデフォルトで「snapd」がインストールされており、すぐに利用できる状態になっています。つまり「.NET Core 3.0.0」のインストール準備は必要ありません。
2..NET Core 3.0.0のインストール
「.NET Core 3.0.0」をインストールします。2-1..NET Core SDKをインストールするには
「.NET Core SDK」は、以下からインストールできます。2-2..NET Core ランタイムとASP.NET Coreランタイムをインストールするには
「.NET Core ランタイム」と「ASP.NET Core」ランタイムは、以下からインストールできます。3.dotnetの実行について
「.NET Core」の実行は、以下のコマンドで行います。
dotnet-sdk.dotnet
こうすることで他にインストイールされている「.NET Core」と区別して、Snap版「.NET Core」を実行できます。
もしこのコマンドを「dotnet」にしたい場合は、以下のコマンドを実行しエイリアスを設定します。
sudo snap alias dotnet-sdk.dotnet dotnet
SSL接続のエラーについて
Linuxディストリビューションによっては、「dotnet restore」実行時に以下のようなSSL接続に関するエラーが発生します。
Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]
Running 'dotnet restore' on /home/myhome/test/test.csproj...
Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]
回避策
この問題を解決するには、SSL証明書の指定が必要になります。以下のように環境変数にSSL証明書を指定してください。
export SSL_CERT_FILE=証明書ファイル
export SSL_CERT_DIR=/dev/null
export SSL_CERT_DIR=/dev/null
証明書ファイルはディストリビューションによって様々です。
この問題が報告されたディストリビューションでは、以下の指定を行います。
OS | ファイル |
---|---|
Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
OpenSUSE | /etc/ssl/ca-bundle.pem |
Solus | /etc/ssl/certs/ca-certificates.crt |