2021-07-27。かつては手動でインストールしたが、今はどうか。
情報源
- https://dotnet.microsoft.com/download
- https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-debian
- https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-scripted-manual#scripted-install
ラズパイ4においてできるだけ簡単にインストールするにはスクリプトを使う方法がいい。
手順
apt(失敗)
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-5.0
取得:1 http://ftp.jaist.ac.jp/raspbian buster InRelease [15.0 kB] 取得:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB] ヒット:3 https://packages.microsoft.com/debian/10/prod buster InRelease 取得:4 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB] 取得:5 http://archive.raspberrypi.org/debian buster/main armhf Packages [376 kB] 439 kB を 3秒 で取得しました (143 kB/s) パッケージリストを読み込んでいます... 完了 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 apt-transport-https はすでに最新バージョン (1.8.2.3) です。 以下のパッケージが自動でインストールされましたが、もう必要とされていません: python-colorzero これを削除するには 'sudo apt autoremove' を利用してください。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 ヒット:1 https://packages.microsoft.com/debian/10/prod buster InRelease ヒット:2 http://archive.raspberrypi.org/debian buster InRelease エラー:3 http://ftp.jaist.ac.jp/raspbian buster InRelease 'ftp.jaist.ac.jp' が一時的に解決できません ヒット:4 http://raspbian.raspberrypi.org/raspbian buster InRelease パッケージリストを読み込んでいます... 完了 W: http://ftp.jaist.ac.jp/raspbian/dists/buster/InRelease の取得に失敗しました 'ftp.jaist.ac.jp' が一時的に解決できません W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ dotnet-sdk-5.0 が見つかりません E: 'dotnet-sdk-5.0' に一致するパッケージは見つかりませんでした E: 正規表現 'dotnet-sdk-5.0' ではパッケージは見つかりませんでした
はい、存在しませんね。クソですね。そんなときは以下を参照しろとのこと。
スクリプト(失敗)
wget https://dot.net/v1/dotnet-install.sh chmod +x dotnet-install.sh
./dotnet-install.sh -c 5.0
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where: dotnet-install: - The SDK needs to be installed without user interaction and without admin rights. dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs. dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer. dotnet-install: Downloading primary link https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.205/dotnet-sdk-5.0.205-linux-arm.tar.gz dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.205/dotnet-sdk-5.0.205-linux-arm.tar.gz dotnet-install: Adding to current process PATH: `/home/pi/.dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully.
dotnet --version
bash: dotnet: コマンドが見つかりません
ダメじゃん。
手動(成功)
結局いままでと同じ。手動でインストールするしかない。ダッサ。
ファイル入手&展開&パス通し。
wget https://download.visualstudio.microsoft.com/download/pr/f456f253-db24-45ea-9c73-f507f93a8cd2/6efe7bed8639344d9c9afb8a46686c99/dotnet-sdk-5.0.302-linux-arm.tar.gz OUT=$HOME/root/sys/env/sdk/dotnet/5.0.302 mkdir -p $OUT tar zxf dotnet-sdk-5.0.302-linux-arm.tar.gz -C $OUT export PATH=$PATH:$OUT
パスを永続化するなら以下。
~/.bashrc
OUT=$HOME/root/sys/env/sdk/dotnet/5.0.302 export PATH=$PATH:$OUT
パスが通っているか確認する。新しく端末を開いて以下コマンドを実行する。
cd ~ dotnet --version
5.0.302
OK。バージョンが出た。
ドキュメントに騙されまくってイライラ
さも簡単にインストールできるかのように書いているが、結局、手動でしかインストールできなかった。その分だけ無駄な手順を実行させられたあげく、ページをたらい回しにされて失敗するのだからイライラしまくった。死んでほしい。
ドキュメント改善してくれ
たのむから以下URLページで、ラズパイ4における個別インストール方法を以下のように書いてほしい。
Raspberry Pi OSではパッケージマネージャapt
を使いますが、バイナリファイルが用意されておりません。また、install dotnet スクリプトを使用する方法でもインストールできません。したがって以下のように手動でインストールします。
wget https://download.visualstudio.microsoft.com/download/pr/f456f253-db24-45ea-9c73-f507f93a8cd2/6efe7bed8639344d9c9afb8a46686c99/dotnet-sdk-5.0.302-linux-arm.tar.gz OUT=$HOME/root/sys/env/sdk/dotnet/5.0.302 mkdir -p $OUT tar zxf dotnet-sdk-5.0.302-linux-arm.tar.gz -C $OUT export PATH=$PATH:$OUT
所感
面倒だった。