C# Advent Calendar 2025 5日目の記事です。
概要
11月末の .NET Conf 2025 で、.NET 10 が発表されました!!
今回は、リリースされたばかりの .NET 10 を Ubuntu24.04 にインストールする方法と、インストール時のエラー対応の方法について書いていきます。(というか、インストールは簡単なので、エラーの方が本題)
TL;DR
# CPU アーキテクチャが AMD64 (x86_64) のとき
wget http://ftp.jp.debian.org/debian/pool/main/i/icu/libicu72_72.1-3+deb12u1_amd64.deb
# 以下のファイル名は CPU アーキテクチャによって異なります
sudo dpkg -i libicu72_72.1-3+deb12u1_amd64.deb
sudo rm libicu72_72.1-3+deb12u1_amd64.deb # 不要なファイルを削除
sudo add-apt-repository ppa:dotnet/backports # リポジトリ追加
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0 # インストール
インストール手順
1. リポジトリ追加
Ubuntu24.04 では、.NET 10 のリポジトリが標準では登録されていないため、リポジトリを追加します。
sudo add-apt-repository ppa:dotnet/backports
2. インストール
続いて SDK をインストールします。
sudo apt-get update
sudo apt-get install -y dotnet-sdk-10.0
これでインストールできるはずです。
が、今回はエラーが発生しました。
エラーと対応方法
エラー内容
今までの .NET 6-9 はリポジトリの追加だけで、インストールが成功していましたが、今回のバージョンでは以下のエラーが発生しました。
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) dotnet-runtime-deps-10.0:amd64 < none -> 10.0.0 @un puN Ib >
Broken dotnet-runtime-deps-10.0:amd64 依存 on libicu78:amd64 < none @un mH >
Broken dotnet-runtime-deps-10.0:amd64 依存 on libicu77:amd64 < none @un mH >
Broken dotnet-runtime-deps-10.0:amd64 依存 on libicu76:amd64 < none @un mH >
Broken dotnet-runtime-deps-10.0:amd64 依存 on libicu72:amd64 < none @un mH >
Done
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
以下のパッケージには満たせない依存関係があります:
dotnet-runtime-deps-10.0 : 依存: libicu78 しかし、インストールすることができません または
libicu77 しかし、インストールすることができません または
libicu76 しかし、インストールすることができません または
libicu72 しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
つまり、LibICU というパッケージのバージョン 78 か 77 か 76 か 72 が必要なのに、どれもインストールされていないことですね。
LibICU を調べる
apt で、本当に LibICU がないのか調べてみます。
apt search libicu
ソート中... 完了
全文検索... 完了
libicu-dev/noble-updates,now 74.2-1ubuntu3.1 amd64 [インストール済み、自動]
Development files for International Components for Unicode
libicu4j-4.4-java/noble,noble 4.4.2.2-4 all
Library for Unicode support and internationalization
libicu4j-java/noble,noble 73.2-1 all
Library for Unicode support and internationalization
libicu70/now 70.1-2 amd64 [インストール済み、ローカル]
International Components for Unicode
libicu74/noble-updates,now 74.2-1ubuntu3.1 amd64 [インストール済み、自動]
International Components for Unicode
ありますが、バージョンが 70 と 74、dev、4j-java、4j-4.4-java であり、目的の 78 or 77 or 76 or 72 が登録されていないようです。
(もし、登録されていたら、エラーにならないか、sudo apt install libicu78 などで成功するはずです)
手動で LibICU の特定バージョンを入れる
LibICU72 はこのページから入手できます。ご自身の CPU のアーキテクチャに合わせてインストールしてください。
wget コマンドを使う場合は、以下のようになるでしょうか。
# CPU アーキテクチャが AMD64 (x86_64) のとき
wget http://ftp.jp.debian.org/debian/pool/main/i/icu/libicu72_72.1-3+deb12u1_amd64.deb
これをダウンロードしたら、dpkg コマンドでインストールします。
# ファイル名はアーキテクチャによって異なります
sudo dpkg -i libicu72_72.1-3+deb12u1_amd64.deb
apt search で、インストールできたことを確認できます。
apt search libicu72
ソート中... 完了
全文検索... 完了
libicu72/now 72.1-3+deb12u1 amd64 [インストール済み、ローカル]
International Components for Unicode
この後に sudo apt-get install -y dotnet-sdk-10.0 を実行したら、インストールが成功するはずです!!
不要ファイルの削除
ダウンロードに用いたファイルは不要なので、削除しましょう。
sudo rm libicu72_72.1-3+deb12u1_amd64.deb
以上です。