SmartHub – Raspbian i ASP.NET Core #2. Instalacja ASP.NET Core na Raspberry Pi

Jest to kolejny wpis z cyklu Raspbian i ASP.NET Core. Dziś będzie o instalacji narzędzi potrzebnych do uruchomienia ASP.NET Core w systemie Raspbian. Zaczynamy.

Generalnie cała instrukcja znajduje się tutaj. Jednak ze względu na mnóstwo odnośników i niedopowiedzeń można się łatwo zagubić lub wykonać nie to o co chodziło jej autorowi.

Nawiązując do poprzedniej części warto zalogować się po SSH jako root, co pozwoli na rozwiązanie problemów, które mogą wynikać z tego, że ASP.NET Core jest nadal w wersji niestabilnej i skrypty instalacyjne mogą zawierać błędy. Np. skrypty instalacyjne dodają „skróty” do poleceń tylko do profilu aktualnego użytkownika co powoduje, że jak zostaną odpalone z sudo, to operacja kończy się błędem command not found.

1. Instalacja DNVM (.NET Version Manager)

DNVM jest to zbiór narzędzi konsolowych do instalacji, aktualizowania i konfiguracji środowiska wykonawczego .NET. Czyli dzięki niemu będą dostępne komendy DNX i DNU, o których za chwilę.

Żeby zainstalować DNVM najpierw należy się upewnić, że paczki unzipcurl są zainstalowane w systemie:

Potem można przejść do instalacji DNVM:

2. Instalacja DNX (.NET Execution Environment) i DNU (.NET Development Utility)

DNX jest odpowiedzialny za uruchomienie środowiska wykonawczego CLR, w którym z kolei zostanie uruchomiona aplikacja.

DNU to narzędzie do zarządzania paczkami. Jest to odpowiednik klienta NuGeta dla .NET Core oraz dodatkowo służy do budowania i publikowania projektu.

W instrukcji w tym miejscu są 2 możliwości. Instalacja DNX dla .NET Core (CoreCLR) oraz instalacja DNX dla Mono. Jako, że wsparcie CoreCLR dla Linuksowych systemów z procesorami ARM jest w trakcie developmentu, to jedyną opcją dla Raspbiana jest Mono.

W tym właśnie miejscu oryginalnej instrukcji zabrakło dopowiedzenia na ten temat, a z kolei odnośnik do instrukcji instalacji Mono wyglądał jak link do definicji, co sprawiło mi problemy.

Żeby zainstalować Mono należy najpierw wykonać następujące komendy w konsoli, które dodadzą nowe źródło paczek w systemie i zaktualizują informacje o dostępnych najnowszych ich wersjach:

Teraz aktualizujemy obecnie zainstalowane paczki w systemie:

Mamy już dodane nowe repozytorium paczek i zaktualizowane paczki, więc można przejść do właściwej instalacji Mono:

Skoro mamy już Mono, to teraz wystarczy zainstalować środowisko wykonawcze DNX, które będzie je wykorzystywać:

Po wykonaniu tej procedury warto sprawdzić czy środowisko DNX się dobrze zainstalowało. Ostateczny test i tak będzie dopiero, gdy uruchomimy przykładową stronę ASP.NET Core. Aby zweryfikować czy środowisko wykonawcze DNX dla Mono się dobrze zainstalowało należy wykonać komendę dnvm list, której wynik powinien być następujący:

W momencie tworzenia tego wpisu najnowszą stabilną wersją DNX była wersja 1.0.0-rc1-update2.

Jako, że razem z DNX zostało zainstalowane narzędzie DNU, to można sprawdzić czy jest dostępne z konsoli za pomocą polecenia dnu --version
, którego wynik powinien być podobny do następującego:

3. Instalacja libuv

Libuv jest to multi-platformowa biblioteka używana przez serwer HTTP Kestrel, którego używa się do uruchamiania aplikacji ASP.NET Core na systemach innych niż Windows. Tam też oczywiście działa, ale po co skoro jest IIS.

Żeby ją zainstalować należy wykonać następujące kroki:

4. Uruchomienie przykładowej aplikacji ASP.NET Core

Zaczynamy od ściągnięcia repozytorium ASP.NET Home, które zawiera przykłady do uruchomienia. Znajduje się tam też instrukcja jak je uruchomić.

Więc najpierw klonujemy repozytorium:

Następnie przechodzimy do folderu home/samples, a następnie do folderu odpowiedniego dla wersji środowiska wykonawczego DNX, które posiadamy. W tym wypadku najbliższy mojej wersji (1.0.0-rc1-update2) był folder 1.0.0-rc1-update1 (w sumie to potem testowałem z 1.0.0-rc1-final i też działa).

Potem przechodzimy do folderu HelloMvc lub HelloWeb i wykonujemy komendy:

Komenda dnu restore wykonuje się dłuższą chwilę. Po wykonaniu tych komend dla któregoś z folderów należy uruchomić przeglądarkę i przejść pod adres http://<ip-malinki>:5004, po czym powinna się uruchomić strona.

Projekt HelloWeb to projekt webowy, który pokazuje stronę startową ASP.NET Core. HelloMvc to projekt webowy, który dodatkowo wykorzystuje MVC. Dla niego powinna się uruchomić znana z poprzednich wersji ASP.NET strona z szablonem w bootstrapie. Z kolei dla HelloWeb powinna wyglądać tak:

asp.net welcome page

To tyle jeżeli chodzi o ten wpis z cyklu Raspbian i ASP.NET Core. W kolejnych będzie o instalacji ASP.NET Core na Windowsie z użyciem Visual Studio i publikowaniem aplikacji stworzonej w Visual Studio na malinkę.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *