.NET 5.0 SDK(RC2)をRaspberry Piで動かしてみた
ALGYANイベントの「.NET 5 技術セミナー」で登壇する予定です。
予習としてRaspberry Piに.NET 5.0 SDK(RC2)をインストールして動くか確認することにしました。
環境
手元にあるRasPi4に、最新のRaspberry Pi OSを入れます。
- ハードは、Raspberry Pi 4 Model B/4GB
- OSは、Raspberry Pi OS (32-bit) with desktop 2020-08-20
インストール
.NET 5は、ここからダウンロードできます。
現時点の最新はv5.0.0-rc.2でした。
Linuxへのインストールは.NET 5.0.0 RC 2 install instructionsに書かれています。Snapを使う手順、deb/rpmパッケージを使う手順、バイナリを手作業で配置する手順が用意されていました。
deb/rpmパッケージを使うのが簡単かな?と思い、手順に沿って実行します。
$ mkdir $HOME/dotnet_install && cd $HOME/dotnet_install $ curl -H 'Cache-Control: no-cache' -L https://aka.ms/install-dotnet-preview -o install-dotnet-preview.sh $ sudo bash install-dotnet-preview.sh
おふっ、インストールスクリプトがRaspbianに対応していないようですorz
気を取り直して、バイナリを手作業で配置する手順に変更!
ARM32向けバイナリをwgetでダウンロードして解凍、PATHを設定します。
$ wget https://download.visualstudio.microsoft.com/download/pr/068ebc6e-4a1d-45ec-a766-733a142f2839/e0da4c731c943ca2b267c15edb565108/dotnet-sdk-5.0.100-rc.2.20479.15-linux-arm.tar.gz $ mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.100-rc.2.20479.15-linux-arm.tar.gz -C $HOME/dotnet $ export PATH=$PATH:$HOME/dotnet
実行
dotnetコマンドが動くか確認します。
$ dotnet --info
なんだか良さそう♪
consoleプロジェクトを作成して、実行してみます。
$ dotnet new console -o myApp
$ cd myApp
$ dotnet run
エラーが発生しました...orz
A fatal error occurred. The required library libhostfxr.so could not be found.
どうやら、環境変数の設定が不足しているようです。(Microsoft Docsを参考)
$ export DOTNET_ROOT=$HOME/dotnet
動いたー!
まとめ
- RasPiにはdeb/rpmパッケージを使う手順はダメだった。(install-dotnet-preview.shが対応していない。)
- 下記手順で、RasPiで.NET 5.0 SDK(RC2)がインストールできた。
$ wget https://download.visualstudio.microsoft.com/download/pr/068ebc6e-4a1d-45ec-a766-733a142f2839/e0da4c731c943ca2b267c15edb565108/dotnet-sdk-5.0.100-rc.2.20479.15-linux-arm.tar.gz $ mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.100-rc.2.20479.15-linux-arm.tar.gz -C $HOME/dotnet $ export PATH=$PATH:$HOME/dotnet $ export DOTNET_ROOT=$HOME/dotnet