@ledsun blog

無味の味は佳境に入らざればすなわち知れず

snapを使ってdotnetコマンドをインストールする

Snap を使用して Linux に .NET をインストールする - .NET | Microsoft Docs の手順でインストールしてみます。

$ sudo snap install dotnet-sdk --classic --channel=6.0
[sudo] password for ledsun:
$ dotnet-sdk (6.0/stable) 6.0.301 from Microsoft .NET Core (dotnetcore✓) installed
$ sudo snap alias dotnet-sdk.dotnet dotnet
$ dotnet --version
6.0.301

成功しました。 試しに .NET Tutorial | Hello World in 5 minutesを参考にしてコンソールアプリケーションをつくってみます。

$ dotnet new console -o MyApp -f net6.0
$ cd MyApp
$ dotnet run

何も表示されません。

Segmentation Fault when using dotnet 5.0 from snap · Issue #51322 · dotnet/runtime · GitHub

dotnet bin/Debug/net5.0/hello.dll seems to work without any issues.

$ dotnet bin/Debug/net6.0/MyApp.dll
Hello, World!

ほんとだ。出ました。

Snap's dotnet seems to be targeting and should be running under the core18 base snap but it's ending up loading libs from system paths instead of from the base snap paths due to the RPATH issue.

よくわかりませんが、snapでインストールすると起きる現象みたいです。