Windows10のWSL(Linux 用 Windowsサブシステム)で追加されたUbuntuに .NETランタイム(dotnet-runtime)をインストールする際に[Unable to locale package dotnet-runtime- …]が表示されてインストールが進まない場合の対処法を備忘録的に投稿します。
dotnet-runtimeのインストールエラー
WSLで追加したUbuntuなどのLinux OS向けに.NET ランタイムが用意されています。詳しい内容は、マイクロソフト公式ページをご覧ください。
記載されている手順でインストールを試みると、コマンドを入力時に次のようなエラーが表示される場合があります。
E: Unable to locale package dotnet-runtime-3.1
E: Couldn't find any package by glob 'dotnet-runtime-3.1'
E: Couldn't find any package by regex 'dotnet-runtime-3.1'
エラーの内容から必要なパッケージが見つからないようなメッセージになっています。
Ubuntuに.NETランタイムをインストールする手順
実際に[Windows Terminal(PowerShell)]を使ってインストールされているUbuntuに[dotnet-runtime]をインストールするには手順は次のように行います。
1.[Windows Terminal]の[PowerShell]タブに次のコマンドを入力してWSLを起動します。
wsl
2. 表示されたUbuntuのプロンプトに次のコマンドを入力します。
sudo apt-get install -y dotnet-runtime-3.1
3. 次のようなエラーが表示されます。
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locale package dotnet-runtime-3.1
E: Couldn't find any package by glob 'dotnet-runtime-3.1'
E: Couldn't find any package by regex 'dotnet-runtime-3.1'
4. 次のコマンドを入力して root に切り替えます。
sudo su -
5. 切り替わったプロンプト(”root@…”)に次のコマンドを入力します。
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
6. 次のコマンドを入力します。
apt-get update
apt-get install apt-transport-https
7. 次のコマンドで “dotnet-runtime” をインストールします。
apt-get install -y dotnet-runtime-3.1
まとめ
Windows10のWSL機能でインストールされているUbuntuは、sudoで管理権限を使った操作をしてもエラーになる場合があります。
[dotnet-runtime]をインストール時に[Unable to locale package dotnet-runtime- …]が表示されてインストールが進まない場合には、[sudo su -]などを使って root 権限に切り替えてから操作すると改善します。
他にもsudoコマンドで実行しても、エラーになるような場合には[sudo su -]などを利用すると正常に動作する場合があります。
Windows10のWSLでインストールしたUbuntuで[dotnet-runtime]がインストールできない人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。