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 Hello World in .NET Core on Mac OS X