Nowe zwierzątko i instalacja .NET Core na OS X
Postanowiłem stworzyć nowe zwierzątko - albo jak kto woli z angielskiego Pet Project (czym jest to zwierzę można przeczytać tu u Procenta). Jeśli uda się oprócz nauki paru rzeczy zrobić coś wartościowego to kod opublikuję na githubie.
Na warsztat biorę pisanie API w .NET Core z wykorzystaniem Nancy oraz kawałkiem frontu napisanym w Aurelia i to wszystko hostowane w Azure.
Żeby bardziej utrudnić sobie życie i sprawdzić co Microsoft wypracował w kontekście multiplatformowości nowego .NET całe pisanie kodu będę robić na OS X i dziś będzie o instalacji .NET Core na OS X.
Cała instalacja sprowadza się do 3 kroków:
- Wgranie Homebrew (mimo, że OS X wywodzi się z systemów unix to braku mu menadżera pakietów)
- Instalacja za pomocą Homebrew wymaganych pakietów dla .NET Core
- Instalacja .NET Core
Instalacja Homebrew
Jest to bardzo proste. Odpalamy terminal i wykonujemy następujące polecenie.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Jeśli w trakcie zapyta nas o zainstalowanie kawałka xcode to się zgadzamy.
Instalacja pakietów
Tak naprawdę jednego pakietu :) - openssl. Więc lecimy jak poniżej w terminalu.
brew update
brew install openssl
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
Instalacja .NET Core
Teraz już tylko instalacja samego .NET Core. W tym celu udajemy się na stronę https://www.microsoft.com/net/download i pobieramy .NET Core Installer oraz .NET Core SDK Installer. Następnie w tej samej kolejności je instalujemy.
Hello World in .NET Core on Mac OS X
Teraz można sprawdzić czy instalacja zadziałała. Otwieramy terminal i udajemy się do jakiegoś tymczasowego folderu. Tworzymy nowy folder i inicjujemy przykładowy projekt.
mkdir hwapp
cd hwapp
dotnet new
Projekt składa się z dwóch plików:
- project.json - konfiguracja naszego projektu. Zgodnie z obwieszczeniami Microsoft ma zginąć śmiercią tragiczną w najbliższym czasie(jak tylko Microsoft upora się z toolingiem dla .NET Core)
- Program.cs - prosta klasa z konsolowym Hello Word.
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Teraz już tylko zostaje uruchomić aplikację (restore przywraca paczki NuGet).
dotnet restore
dotnet run
i efekt końcowy to